Basic HNSW class (phase 2 - support for persistence and loading) [par… - #6131
Open
dlenev wants to merge 4 commits into
Open
Basic HNSW class (phase 2 - support for persistence and loading) [par…#6131dlenev wants to merge 4 commits into
dlenev wants to merge 4 commits into
Conversation
…t 1]. https://perconadev.atlassian.net/browse/PS-11267 Added persistence and on-demand loading APIs to HNSW implementation. Extended unit tests.
dlenev
force-pushed
the
vector-mvp-11267
branch
from
August 24, 2026 19:22
28404bf to
6bec2b8
Compare
satya-bodapati
added a commit
to satya-bodapati/percona-server
that referenced
this pull request
Aug 26, 2026
…t 1]. https://perconadev.atlassian.net/browse/PS-11267 Added persistence and on-demand loading APIs to HNSW implementation. Extended unit tests. (cherry picked from commit 6bec2b8, dlenev/vector-mvp-11267, PR percona#6131) Carried here because the aux-storage write path has nothing to hook into without it: the class on our base takes a single template parameter and its insert() has no context argument. This commit adds the second parameter and the four callbacks the design targets. It applies cleanly because it sits directly on 65261fc, the same phase-1 commit our base builds on. To be dropped from this branch once PS-11267 lands in vector-mvp. gunit hnsw-t 34/34, percona vector 17/17.
satya-bodapati
added a commit
to satya-bodapati/percona-server
that referenced
this pull request
Aug 27, 2026
…t 1]. https://perconadev.atlassian.net/browse/PS-11267 Added persistence and on-demand loading APIs to HNSW implementation. Extended unit tests. (cherry picked from commit 6bec2b8, dlenev/vector-mvp-11267, PR percona#6131) Carried here because the aux-storage write path has nothing to hook into without it: the class on our base takes a single template parameter and its insert() has no context argument. This commit adds the second parameter and the four callbacks the design targets. It applies cleanly because it sits directly on 65261fc, the same phase-1 commit our base builds on. To be dropped from this branch once PS-11267 lands in vector-mvp. gunit hnsw-t 34/34, percona vector 17/17.
satya-bodapati
added a commit
to satya-bodapati/percona-server
that referenced
this pull request
Aug 28, 2026
…t 1]. https://perconadev.atlassian.net/browse/PS-11267 Added persistence and on-demand loading APIs to HNSW implementation. Extended unit tests. (cherry picked from commit 6bec2b8, dlenev/vector-mvp-11267, PR percona#6131) Carried here because the aux-storage write path has nothing to hook into without it: the class on our base takes a single template parameter and its insert() has no context argument. This commit adds the second parameter and the four callbacks the design targets. It applies cleanly because it sits directly on 65261fc, the same phase-1 commit our base builds on. To be dropped from this branch once PS-11267 lands in vector-mvp. gunit hnsw-t 34/34, percona vector 17/17.
satya-bodapati
added a commit
to satya-bodapati/percona-server
that referenced
this pull request
Aug 28, 2026
Cherry-picked from Dmitry's vector-mvp-11267 (percona#6131) so that the persistence work could be built before it landed. It sits on the same phase-1 commit this branch is based on and applies cleanly. DROP THIS COMMIT once PS-11267 is merged into vector-mvp, or the branch will carry a duplicate of it. Original message follows. --- Basic HNSW class (phase 2 - support for persistence and loading) [part 1].
satya-bodapati
added a commit
to satya-bodapati/percona-server
that referenced
this pull request
Aug 31, 2026
Cherry-picked from Dmitry's vector-mvp-11267 (percona#6131) so that the persistence work could be built before it landed. It sits on the same phase-1 commit this branch is based on and applies cleanly. DROP THIS COMMIT once PS-11267 is merged into vector-mvp, or the branch will carry a duplicate of it. Original message follows. --- Basic HNSW class (phase 2 - support for persistence and loading) [part 1].
…t 2]. https://perconadev.atlassian.net/browse/PS-11267 Made our HNSW implementation thread-safe. Extended unit tests.
…rations support) [follow-up]. https://perconadev.atlassian.net/browse/PS-11266 Extended k_nn_search() and streamed search API to return graph node ids for entries found (in addition to primary keys of corresponding base table rows).
…t 2, post-push fix]. https://perconadev.atlassian.net/browse/PS-11267 Address scenario when select_neighbors() returns less than Mmax neighbors due to lost nodes. Added unit test triggering this scenario.
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.
…t 1].
https://perconadev.atlassian.net/browse/PS-11267
Added persistence and on-demand loading APIs to HNSW implementation.
Extended unit tests.