-
-
Notifications
You must be signed in to change notification settings - Fork 339
The slotmap turned out to be too small #1788
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
Comments
Thanks for reporting! This shouldn't be happening as it starts out the slotmap with Could you list the files in |
|
its on windows |
Thanks, it really looks like this is a bug where it can't properly scale beyond 32 anymore. |
What about the progress of the task? How can I help you? Perhaps you need additional information? |
This issue is top of my list, and still I didn't get to it - special times. gitoxide/gix/tests/gix/remote/fetch.rs Lines 88 to 90 in dbf079f
The test above could be adapted to create more than 32 packs in the local repository by fetching repeatedly. Then a default repository can be opened there, with the assumption that this reproduces the issue you are seeing after accessing the If this doesn't reproduce, and as an immediate fix, you could also try to set the default slotmap size to 96, which would allow 96 indices and packs to be opened at the same time (i.e. nearly 200 files) - that way it should just work without truly fixing the bug. If it still doesn't work though, this would certainly also tell us something about the nature of the issue. |
Apologies for the long wait. However, I did change the test in the linked PR to the point where it should be able to reproduce the issue. The hypothesis was that if there are many packs, it's unable properly configure its slotmap to be able to load all packs if needed. However, int he screenshot it seemingly failed to do that. A test was created to create a repository that would be above a set minimal amount of packs it could read, to validate it dynamically adjusts that value. And the test works as expected. Further, I have a repository with 145 packs, and Could you retry this with the latest version of My assumption would be that it is still reproducing for you, but ideally we could work on debugging this together to figure out what the problem is. In the screenshot, it clearly didn't see all packs and initialized the slotmap with the minimum of 32 slots, even though 95 packs (the slotmap should be 105 slots large then). gitoxide/gix-odb/src/store_impls/dynamic/load_index.rs Lines 457 to 460 in 52ff68b
Thanks in advance for your help. |
Current behavior 😯
gix is not working with repository ~2M files + LFS
Expected behavior 🤔
work as git
Git behavior
Steps to reproduce 🕹
git status
git log
The text was updated successfully, but these errors were encountered: