-
Notifications
You must be signed in to change notification settings - Fork 22
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
Each GAP.jl session uses fresh dir for mutable GAP root #1079
base: master
Are you sure you want to change the base?
Conversation
cbcc0db
to
de7bed9
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1079 +/- ##
==========================================
+ Coverage 82.73% 82.78% +0.04%
==========================================
Files 50 50
Lines 3823 3833 +10
==========================================
+ Hits 3163 3173 +10
Misses 660 660
|
I compared de7bed9 (tip of this PR) to 0412fa6 (the master commit this branch is based on) w.r.t. The only thing I am a little bit worried about is that some OSs may clear the |
Oh, good point about stuff in So how about instead we keep the scratch space and create the temp dirs in it ( |
I don't understand what you would want to use mktempdir for? Shouldn't we let Scratch.jl create these directories using `get_scratch!`? This way, Scratch.jl would take care of garbage collecting old unused folders.
…On December 11, 2024 9:27:45 PM GMT+01:00, Max Horn ***@***.***> wrote:
Oh, good point about stuff in `/tmp` or `/var/tmp` potentially being deleted by cron jobs. That's indeed a thing.
So how about instead we keep the scratch space and create the temp dirs in it (`mktempdir` has an option for that). The scratch space name then could stay relatively fixed. The tempdir names could consist of the current date&time in ISO8601 format followed by a random string (I am suggesting to put in time because that way it's trivial to spot any such dirs that should have been deleted but were not e.g. due to a crash. It might also help recognize the dirs for the "long running" jobs).
--
Reply to this email directly or view it on GitHub:
#1079 (comment)
You are receiving this because you commented.
Message ID: ***@***.***>
|
I want a different directory for each julia process loading GAP.jl. Scratchspaces alone do not provide for that. |
No, it does. If you call |
d8459a9
to
830e8c1
Compare
@lgoettgens updated now as discussed on #1083 |
Why did you drop the changes in https://github.com/oscar-system/GAP.jl/compare/de7bed9931a62d2bcd003442268379f59359d274..d8459a9b7730af2650c491fe0b1e709f6b756d1c#diff-68a57defa4eef4087b4707a47026264bd208020e98af8639ab658853d0f1f35d (packages.jl)? It seems to me that this could be related to the failures here |
Nope the failure is caused by the use of our Gotta think a bit about it... |
c2784ea
to
88c52bd
Compare
This is now reduced to generating an additional GAP root dir containing a Perhaps time now to transform this:
|
This would also hopefully allow us to deal with the three packages listed under "Missing Software: GAP" in #1122 |
The stuff I just mentioned probably also would resolve #840 |
Resolves #993 -- I measured that it is not slower than the current approach which fully regenerates the GAP root each time anyway.
Specifically on my test machines it takes about 0.09 - 0.11 seconds. Which is not nothing, but still relatively little.
An alternative would be to keep using a scratch space but be more aggressive in switching to a new one when anything changes, i.e. incorporating a hash value into its name that involves more components, such as
setup.jl