Despecialize direct indices with too large values into B-Tree indices#3978
Merged
Despecialize direct indices with too large values into B-Tree indices#3978
Conversation
f2a54d2 to
cd33f8b
Compare
1521fb8 to
0a01e2d
Compare
cca9973 to
f68438f
Compare
0a01e2d to
e242b01
Compare
gefjon
approved these changes
Jan 13, 2026
f68438f to
a7f981f
Compare
e242b01 to
1922d54
Compare
Despecialize too large direct indices (u64 key). Make direct indices read better with fns `injest` and `expose`. Make all variants of `TypedIndex` `impl Into<TypedIndex>` so `same_for_all_types` can be used more.
e96a605 to
9fdac09
Compare
cloutiertyler
pushed a commit
that referenced
this pull request
Jan 16, 2026
…#3978) # Description of Changes Despecializes direct indices for `u64` keys that have too large values and convert them into a B-Tree index instead. Otherwise, we are exposed to OOM aborts. Also hardens typed index tests to cover more combinations. This is how the bug was caught. Some index code is also simplified. # API and ABI breaking changes None # Expected complexity level and risk 2? # Testing Proptests were generalized to catch the bug and to then verify that it was fixed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description of Changes
Despecializes direct indices for
u64keys that have too large valuesand convert them into a B-Tree index instead.
Otherwise, we are exposed to OOM aborts.
Also hardens typed index tests to cover more combinations.
This is how the bug was caught.
Some index code is also simplified.
API and ABI breaking changes
None
Expected complexity level and risk
2?
Testing
Proptests were generalized to catch the bug and to then verify that it was fixed.