Skip to content

added tests and some baselines for range_search - #961

Merged
Jordan Maples (JordanMaples) merged 9 commits into
mainfrom
jordanmaples/range_search
Apr 22, 2026
Merged

added tests and some baselines for range_search#961
Jordan Maples (JordanMaples) merged 9 commits into
mainfrom
jordanmaples/range_search

Conversation

@JordanMaples

@JordanMaples Jordan Maples (JordanMaples) commented Apr 20, 2026

Copy link
Copy Markdown
Contributor

More work for #927.

This adds range_search unit tests to diskann. The primary purpose of this is to build up code coverage.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@codecov-commenter

Codecov Comments Bot (codecov-commenter) commented Apr 20, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.12644% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.33%. Comparing base (443146e) to head (713f09f).

Files with missing lines Patch % Lines
diskann/src/graph/test/cases/range_search.rs 97.12% 5 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #961      +/-   ##
==========================================
+ Coverage   89.32%   89.33%   +0.01%     
==========================================
  Files         446      447       +1     
  Lines       83076    83250     +174     
==========================================
+ Hits        74206    74375     +169     
- Misses       8870     8875       +5     
Flag Coverage Δ
miri 89.33% <97.12%> (+0.01%) ⬆️
unittests 89.17% <97.12%> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
diskann/src/test/cmp.rs 98.36% <ø> (+0.54%) ⬆️
diskann/src/graph/test/cases/range_search.rs 97.12% <97.12%> (ø)

... and 2 files with indirect coverage changes

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

Jordan Maples and others added 3 commits April 20, 2026 13:30
…ders

test_sift_build_and_range_search is now covered by the new range_search
tests in diskann (basic, inner_radius, two_round, empty_results).

Also removes the now-unused assert_range_results_exactly_match helper
from search_utils.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Comment thread diskann/src/graph/test/cases/mod.rs Outdated
@JordanMaples
Jordan Maples (JordanMaples) merged commit a90deb4 into main Apr 22, 2026
26 checks passed
@JordanMaples
Jordan Maples (JordanMaples) deleted the jordanmaples/range_search branch April 22, 2026 17:14
Aditya Krishnan (arkrishn94) added a commit that referenced this pull request Apr 22, 2026
Bumping to 0.50.1 to propagate changes to consumers.

Changes since previous bump: 

## What's Changed
* Add more agentic guard rails by @hildebrandmw in
#871
* Cleanup `diskann-benchmark-runner` and friends. by @hildebrandmw in
#865
* Use `--all-targets` for the no-default-features CI run. by
@hildebrandmw in #874
* Remove unused `normalizing_util.rs` from `diskann-providers` by
@Copilot in #902
* Benchmark Support for A/B Tests by @hildebrandmw in
#900
* [diskann-garnet] Bump diskann-garnet to 1.0.26 by @tiagonapoli in
#925
* Remove the `AdjacencyList` from `diskann-providers` by @hildebrandmw
in #915
* [PQ cleanup] Part 1: Move pq_scratch, quantizer_preprocess and
pq_dataset to `diskann-disk` by @arkrishn94 in
#930
* Forbid Debug in diskann-benchmark by @arrayka in
#914
* Remove DebugProvider by @JordanMaples in
#923
* [diskann-garnet] Create workflow to publish to nuget by @tiagonapoli
in #926
* Move k-means implementation from diskann-providers to diskann-disk by
@Copilot in #933
* Inline minmax distance evaluations by @arkrishn94 in
#935
* Use `rust-toolchain.toml` in CI by @hildebrandmw in
#934
* Add a globally blocking CI gate. by @hildebrandmw in
#932
* Remove `utils/math_util.rs` from `diskann-providers` by @Copilot in
#921
* Bump rand from 0.9.2 to 0.9.3 by @dependabot[bot] in
#945
* Remove OPQ and friends by @arkrishn94 in
#947
* Migrate test_flaky_consolidate from diskann_providers to diskann by
@JordanMaples in #942
* Remove GraphDataType from diskann-providers by @wuw92 in
#950
* Remove unused method extract_best_l_candidates in
NeighborPriorityQueue by @doliawu in
#951
* Add `Debug` bounds to `VectorRepr`'s distance GATs. by @hildebrandmw
in #948
* Add benchmark pipeline with Rust-native A/B validation by
@YuanyuanTian-hh in #912
* Remove unnecessary `Default` bound from `Neighbor`'s `VectorIdType` by
@doliawu in #956
* Replace `AlignedBoxWithSlice` with plain `Vec` / `Matrix` where
alignment is unused by @wuw92 in
#955
* [minmax] 8-bit benchmark by @arkrishn94 in
#959
* Add `MultiInsertStrategy` implementations for `BfTreeProvider` by
@hildebrandmw in #949
* Replace `AlignedBoxWithSlice` with `Vec` in PQScratch and disk fp
vector caches by @wuw92 in #960
* Adding unit tests for paged_search by @JordanMaples in
#962
* Remove AlignedBoxWithSlice wrapper and add alias to Poly<[T],
AlignedAllocator> by @JordanMaples in
#965
* Remove synthetic/structured data generation from diskann-providers by
@JordanMaples in #963
* added tests and some baselines for range_search by @JordanMaples in
#961

## New Contributors
* @JordanMaples made their first contribution in
#923
* @wuw92 made their first contribution in
#950
* @doliawu made their first contribution in
#951
* @YuanyuanTian-hh made their first contribution in
#912

**Full Changelog**:
v0.50.0...v0.50.1
@JordanMaples Jordan Maples (JordanMaples) linked an issue May 26, 2026 that may be closed by this pull request
weiyaoluo (SeliMeli) pushed a commit to SeliMeli/DiskANN that referenced this pull request Jul 22, 2026
More work for microsoft#927. 

This adds range_search tests to diskann and removes the now redundant
test_sift_build_and_range_search test and related asserts in
diskann_async.rs.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
weiyaoluo (SeliMeli) pushed a commit to SeliMeli/DiskANN that referenced this pull request Jul 22, 2026
Bumping to 0.50.1 to propagate changes to consumers.

Changes since previous bump:

* Add more agentic guard rails by @hildebrandmw in
microsoft#871
* Cleanup `diskann-benchmark-runner` and friends. by @hildebrandmw in
microsoft#865
* Use `--all-targets` for the no-default-features CI run. by
@hildebrandmw in microsoft#874
* Remove unused `normalizing_util.rs` from `diskann-providers` by
@Copilot in microsoft#902
* Benchmark Support for A/B Tests by @hildebrandmw in
microsoft#900
* [diskann-garnet] Bump diskann-garnet to 1.0.26 by @tiagonapoli in
microsoft#925
* Remove the `AdjacencyList` from `diskann-providers` by @hildebrandmw
in microsoft#915
* [PQ cleanup] Part 1: Move pq_scratch, quantizer_preprocess and
pq_dataset to `diskann-disk` by @arkrishn94 in
microsoft#930
* Forbid Debug in diskann-benchmark by @arrayka in
microsoft#914
* Remove DebugProvider by @JordanMaples in
microsoft#923
* [diskann-garnet] Create workflow to publish to nuget by @tiagonapoli
in microsoft#926
* Move k-means implementation from diskann-providers to diskann-disk by
@Copilot in microsoft#933
* Inline minmax distance evaluations by @arkrishn94 in
microsoft#935
* Use `rust-toolchain.toml` in CI by @hildebrandmw in
microsoft#934
* Add a globally blocking CI gate. by @hildebrandmw in
microsoft#932
* Remove `utils/math_util.rs` from `diskann-providers` by @Copilot in
microsoft#921
* Bump rand from 0.9.2 to 0.9.3 by @dependabot[bot] in
microsoft#945
* Remove OPQ and friends by @arkrishn94 in
microsoft#947
* Migrate test_flaky_consolidate from diskann_providers to diskann by
@JordanMaples in microsoft#942
* Remove GraphDataType from diskann-providers by @wuw92 in
microsoft#950
* Remove unused method extract_best_l_candidates in
NeighborPriorityQueue by @doliawu in
microsoft#951
* Add `Debug` bounds to `VectorRepr`'s distance GATs. by @hildebrandmw
in microsoft#948
* Add benchmark pipeline with Rust-native A/B validation by
@YuanyuanTian-hh in microsoft#912
* Remove unnecessary `Default` bound from `Neighbor`'s `VectorIdType` by
@doliawu in microsoft#956
* Replace `AlignedBoxWithSlice` with plain `Vec` / `Matrix` where
alignment is unused by @wuw92 in
microsoft#955
* [minmax] 8-bit benchmark by @arkrishn94 in
microsoft#959
* Add `MultiInsertStrategy` implementations for `BfTreeProvider` by
@hildebrandmw in microsoft#949
* Replace `AlignedBoxWithSlice` with `Vec` in PQScratch and disk fp
vector caches by @wuw92 in microsoft#960
* Adding unit tests for paged_search by @JordanMaples in
microsoft#962
* Remove AlignedBoxWithSlice wrapper and add alias to Poly<[T],
AlignedAllocator> by @JordanMaples in
microsoft#965
* Remove synthetic/structured data generation from diskann-providers by
@JordanMaples in microsoft#963
* added tests and some baselines for range_search by @JordanMaples in
microsoft#961

* @JordanMaples made their first contribution in
microsoft#923
* @wuw92 made their first contribution in
microsoft#950
* @doliawu made their first contribution in
microsoft#951
* @YuanyuanTian-hh made their first contribution in
microsoft#912

**Full Changelog**:
microsoft/DiskANN@v0.50.0...v0.50.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test migration from diskann-providers to diskann

5 participants