-
Notifications
You must be signed in to change notification settings - Fork 21
[MOD-10654] [MOD-10694] Enhance SVS Debug Info Iterator #736
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
Conversation
To make them more general remove "HNSW" indicator from: - HNSW_NUM_MARKED_DELETED - HNSW_EPSILON_STRING elaborate vec_utils with the new SVS strings, and *_ToString functions update svs and multi svs tests
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #736 +/- ##
==========================================
+ Coverage 96.82% 96.85% +0.02%
==========================================
Files 122 122
Lines 7443 7498 +55
==========================================
+ Hits 7207 7262 +55
Misses 236 236 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- Add missing SVS-specific fields to compareSVSIndexInfoToIterator function - Create scoped field count constants for all index types (FLAT, HNSW, SVS, TIERED) - Unify tiered index testing with generic compareTieredIndexInfoToIterator - Fix VecSimBool enum definition and backgroundIndexing field type consistency - Add SVS tiered-specific debug fields (training threshold, update threshold, timeout)
fix tierred in svs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work
src/VecSim/algorithms/svs/svs.h
Outdated
return info; | ||
} | ||
|
||
VecSimDebugInfoIterator *debugInfoIterator() const override { | ||
VecSimIndexDebugInfo info = this->debugInfo(); | ||
// For readability. Update this number when needed. | ||
size_t numberOfInfoFields = 10; | ||
size_t numberOfInfoFields = 24; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There must be a better way
Maybe not for this PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
its just an optiomisation to avoid vector reallocation. if the number doesn't exactly match the number of fields the vector will increase its capacity.
src/VecSim/algorithms/svs/svs.h
Outdated
.searchWindowSize = this->search_window_size, | ||
.searchBufferCapacity = this->search_buffer_capacity, | ||
.leanvecDim = this->leanvec_dim, | ||
.epsilon = this->epsilon}; | ||
.epsilon = this->epsilon, | ||
.changes_num = this->changes_num}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
number of marked deleted and changes num are the same?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good catch :)
they are
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- currently
"// Count severe index changes (currently deletions only) and consolidate index if needed"
* expose svs info via iterator in debugInfoIterator To make them more general remove "HNSW" indicator from: - HNSW_NUM_MARKED_DELETED - HNSW_EPSILON_STRING elaborate vec_utils with the new SVS strings, and *_ToString functions update svs and multi svs tests * Enhance SVS debug info iterator with complete field validation - Add missing SVS-specific fields to compareSVSIndexInfoToIterator function - Create scoped field count constants for all index types (FLAT, HNSW, SVS, TIERED) - Unify tiered index testing with generic compareTieredIndexInfoToIterator - Fix VecSimBool enum definition and backgroundIndexing field type consistency - Add SVS tiered-specific debug fields (training threshold, update threshold, timeout) * info.tieredInfo.backgroundIndexing = fix tierred in svs * fix hnsw tiered backgroudhnindxxing * remove VecSimBool_ToString, not needed * remove num_threads * add coverage * fi field count * fix wuant bits * fix tests (cherry picked from commit d545769)
Successfully created backport PR for |
[MOD-10654] [MOD-10694] Enhance SVS Debug Info Iterator (#736) * expose svs info via iterator in debugInfoIterator To make them more general remove "HNSW" indicator from: - HNSW_NUM_MARKED_DELETED - HNSW_EPSILON_STRING elaborate vec_utils with the new SVS strings, and *_ToString functions update svs and multi svs tests * Enhance SVS debug info iterator with complete field validation - Add missing SVS-specific fields to compareSVSIndexInfoToIterator function - Create scoped field count constants for all index types (FLAT, HNSW, SVS, TIERED) - Unify tiered index testing with generic compareTieredIndexInfoToIterator - Fix VecSimBool enum definition and backgroundIndexing field type consistency - Add SVS tiered-specific debug fields (training threshold, update threshold, timeout) * info.tieredInfo.backgroundIndexing = fix tierred in svs * fix hnsw tiered backgroudhnindxxing * remove VecSimBool_ToString, not needed * remove num_threads * add coverage * fi field count * fix wuant bits * fix tests (cherry picked from commit d545769) Co-authored-by: meiravgri <109056284+meiravgri@users.noreply.github.com>
Implements comprehensive debug info iterator for SVS indexes and fixes background indexing status for tiered indexes.
Key Changes
Technical Details
Increased SVS debug iterator
Changed backgroundIndexing from bool to VecSimBool enum
Added utility functions: VecSimQuantBits_ToString()
Added tiered SVS-specific parameters (training/update thresholds, timeout)