-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
View compiler - Temporary file collision issue #85
Comments
Any thoughts on this @bounav from your recent experimentation on multi-threading? |
Interesting use-case.
We'd have to investigate how the file names are generated. It would be useful to have a way of controlling what the filenames are in an extensible way.
Same here, we'll have to look into it. Maybe a setting could be leveraged?
I'd say definitely maybe? In all seriously, being up to date with the latest is a good idea. Not sure if it's going to help, but I don't think anybody fancy fixing stuff in an old version. If it's still an issue with the new version what would be helpful would be if you could isolate the issue into a separate vanilla project that doesn't include anything sensitive and upload it on github? |
Thanks for the answer. I tried to find out some info by looking at the source. But I did not find anything. Spark uses CodeDom and temp file settings may be completely internal. The issue is not critical, just annoying. I get maybe dozen of such errors daily with hundreds of thousands of generated emails. It's completely random. Until a better solution is found, I'm considering catching this particular exception and doing a retry. |
We've been using Spark since forever for email templating purposes.
Our environment is highly multi-threaded. Sometimes we compile many different views in parallel and use them to generate HTML emails.
Randomly we get an error during view compilation, like this:
Yes, I know this is a prehistoric 1.7 version :) Compiled manually, as well.
At first, I thought that tons of old files in my temp dir may be responsible for filename collisions. But specified file was not there. So I can only assume that two threads tried to do a view compilation at the same time and chose the same name for temp file. One thread did its job, the other failed.
My questions are:
Many thanks for keeping this project alive. I can see that migrating to .NET Core is now an option, too. Wow :)
The text was updated successfully, but these errors were encountered: