Skip to content

Conversation

@meiravgri
Copy link
Collaborator

@meiravgri meiravgri commented Oct 12, 2025

Overview

This PR exposes the number of marked deleted vectors in SVS through the VecSimIndexStatsInfo.numberOfMarkedDeleted field.

Key Changes:

Added virtual getNumMarkedDeleted() method to tiered index interface

  • HNSW Tiered Implementation: Delegates to hnsw->VecSimIndexTombstone::getNumMarkedDeleted() (HNSW inherits from VecSimIndexTombstone)
  • SVS Tiered Implementation: Returns SVSIndexBase::getNumMarkedDeleted()
  • Updated VecSimTieredIndex::statisticInfo(): Now calls this->getNumMarkedDeleted() instead of using complex dynamic casting

Additional changes

Better marked deleted interface for SVS:

  • Renamed changes_numnum_marked_deleted in SVSIndex to emphasize it only counts deletions
  • Moved num_marked_deleted from SVSIndex to SVSIndexBase for easier access
  • Added getNumMarkedDeleted() method to SVSIndexBase API
  • Added virtual getNumMarkedDeleted() method to tiered index interface

rename chnages_num -> num_marked_deleted to emphasize it onluy counts deletions

SVSIndexBase: move num_marked_deleted to SVSIndexBase so it can be simply fetched without complex cast
add getNumMarkedDeleted to API

add  virtual getNumMarkedDeleted to tiered index to be called by VecSimTieredIndex::statisticInfo

hnsw  tiered implmnetaion: call hnsw->VecSimIndexTombstone::getNumMarkedDeleted, (hnsw inhrits VecSimIndexTombstone)

svs imp: returns SVSIndexBase::getNumMarkedDeleted
@meiravgri meiravgri changed the title SVSIndex [MOD-10926] Oct 12, 2025
@meiravgri meiravgri changed the title [MOD-10926] [MOD-10926] Expose SVS Marked Deleted Vector Count via Statistics API Oct 12, 2025
@meiravgri meiravgri enabled auto-merge October 12, 2025 16:01
@codecov
Copy link

codecov bot commented Oct 12, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.64%. Comparing base (9fb223a) to head (7a976b9).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #796      +/-   ##
==========================================
- Coverage   96.66%   96.64%   -0.03%     
==========================================
  Files         126      126              
  Lines        7707     7712       +5     
==========================================
+ Hits         7450     7453       +3     
- Misses        257      259       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@meiravgri meiravgri added this pull request to the merge queue Oct 13, 2025
Merged via the queue into main with commit 1c0ec77 Oct 13, 2025
19 checks passed
@meiravgri meiravgri deleted the meiravg_expose_svs_marked_delted branch October 13, 2025 09:51
@github-actions
Copy link

Backport failed for 8.2, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin 8.2
git worktree add -d .worktree/backport-796-to-8.2 origin/8.2
cd .worktree/backport-796-to-8.2
git switch --create backport-796-to-8.2
git cherry-pick -x 1c0ec77b9ce802a5023f376fcdebf824dc79c64b

meiravgri added a commit that referenced this pull request Oct 13, 2025
…#796)

SVSIndex
rename chnages_num -> num_marked_deleted to emphasize it onluy counts deletions

SVSIndexBase: move num_marked_deleted to SVSIndexBase so it can be simply fetched without complex cast
add getNumMarkedDeleted to API

add  virtual getNumMarkedDeleted to tiered index to be called by VecSimTieredIndex::statisticInfo

hnsw  tiered implmnetaion: call hnsw->VecSimIndexTombstone::getNumMarkedDeleted, (hnsw inhrits VecSimIndexTombstone)

svs imp: returns SVSIndexBase::getNumMarkedDeleted

(cherry picked from commit 1c0ec77)
github-merge-queue bot pushed a commit that referenced this pull request Oct 13, 2025
…cs API (#797)

[MOD-10926] Expose SVS Marked Deleted Vector Count via Statistics API (#796)

SVSIndex
rename chnages_num -> num_marked_deleted to emphasize it onluy counts deletions

SVSIndexBase: move num_marked_deleted to SVSIndexBase so it can be simply fetched without complex cast
add getNumMarkedDeleted to API

add  virtual getNumMarkedDeleted to tiered index to be called by VecSimTieredIndex::statisticInfo

hnsw  tiered implmnetaion: call hnsw->VecSimIndexTombstone::getNumMarkedDeleted, (hnsw inhrits VecSimIndexTombstone)

svs imp: returns SVSIndexBase::getNumMarkedDeleted

(cherry picked from commit 1c0ec77)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants