This repository has been archived by the owner on Sep 11, 2020. It is now read-only.
filesystem: ObjectStorage, MaxOpenDescriptors option #1123
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
MaxOpenDescriptors
option provides a middle ground solution between keeping all pack files open (as offered by theKeepDescriptors
option) and keeping none open.This PR is a modification of #1109. This version moves to keeping packfile objects around, rather than just the open file. Whilst updating this, PR #1120 was opened that offers effectively the same solution to that problem. But there's a few other changes here in relation to that, too:
KeepDescriptors
when callingNewStorageWithOptions
no longer passes the option to dotgit, as there's little point in keeping a map of open files in both locations.objectPackPath
(using path.Join) isn't as fast as you'd imagine.