Do not assume node is out of bounds in deserializer #3044
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.
What's being changed:
The HNSW deserializer assumed if
id > len(res.Nodes)
then the node was out of bounds. Howeverlen(res.Nodes)
is just set initially to theinitialSize
of the HNSW index. With the reduction of initialSize in #3005 this triggeredTest_NoRace_ManySmallCommitlogs
to become flaky with too many links. This PR changes the deserializer to rungrowIndexToAccomodateNode
in these conditions.Review checklist