Closed domenkozar closed 3 years ago
The culprit.
One may also consider unix
's bytestring directory functions, to match Nix more closely. For performance, it's best to getFileStatus
once per path.
@imalsogreg Are you able to take a look?
The vigorous-io branch includes a test that can hit the resource exhausted (Too many open files)
error.
Right now I have the test set to create just 100 files and assert that 50 file descriptors are open after nar serialization. If I raise the number to 10000, we see an exception. Maybe the test should use 10000 and watch for the exception.
Anyway, now to code up the solution :)
Hey @imalsogreg did you make some progress on this one?
@domenkozar Nope, attention's been elsewhere, but thanks for the bump.
I'm happy to sponsor $150 for someone fixing this issue.
@domenkozar I've been focusing on this the past couple days, on the vigorous-io
branch.
Closing since this landed some time ago, it could use some real world testing! :smile:
Feed it a store path with lots of files and you end up with: