-
Notifications
You must be signed in to change notification settings - Fork 17
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
Possible concurrency issues with resolve on a cluster #19
Comments
Yeah makes sense. |
Oh, by the way, I wonder if "pidfile" locking makes sense on a cluster? I think it probably doesn't, since there is no global list of processes. |
I just took a look at the source: Pidfile.jl uses both the PID and hostname, which presumably means it works with shared filesystems too. |
Ah, that's smart! Much better than https://github.com/mosquito/python-pidfile/blob/master/pidfile/pidfile.py https://github.com/keiranmraine/pidlock sees to use hostname too. |
Oh yeah of course this is a python package so need a python implementation of pidfiles. |
pidlock looks good thanks |
Btw, is it really necessary to write out the meta file every time? Perhaps we could check for changes first? |
The situation is much better now that we fall back on hashing |
Good to know thanks, I don't do any distributed programming myself. I'll leave this issue open as a reminder to do pidlocking though, it's still a good idea. Recommending resolving first makes sense. Could put something into the readme and also the message that appears when waiting for the lock. |
I was getting a similar error in CI when multiple pytest runners all tried to However, a pidfile fix would be more robust, and not require downstream packages to be careful about including packages which depend on juliapkg. I am willing to contribute a PR, and want to double check that there is the will to review. The approach would be:
|
I think I am seeing multiple processes trying to simultaneously resolve julia versions and dependencies, mirroring JuliaPy/CondaPkg.jl#40. Maybe locking is needed here too?
The text was updated successfully, but these errors were encountered: