Bound nearest ANN probe budget - #591
Conversation
|
Thanks for jumping on #567. One correctness interaction needs addressing before merge
And multi-partition is reachable in stock OmniGraph: we build Suggestions (any one of these makes it sound):
Also worth adding: a behavioral test on an optimize-split index (the guards file already builds one at |
# Conflicts: # crates/omnigraph/src/exec/query.rs
|
Thanks for catching this. Fixed in e5e1a60 (mikemikimike@e5e1a60). The ANN scanner now sets Lance minimum_nprobes and maximum_nprobes explicitly. A filtered nearest query keeps the bounded first pass, then retries once with the same minimum and maximum_nprobes unset when the result under-fills the requested limit. This preserves the existing latency/recall knob for normal queries while allowing late search to reach all partitions when prefiltering starves the capped pass. The effective min/max budget and retry are recorded by the query instrumentation seam. Added the optimized multi-partition IVF behavioral regression, Lance plan guards for bounded versus minimum-only probing, and search documentation/release notes. Local validation after merging upstream/main: cargo +1.97.0 test -p omnigraph-engine --test search --locked (40 passed); cargo +1.97.0 check -p omnigraph-engine --locked (passed); cargo +1.97.0 clippy -p omnigraph-engine --lib --locked -- -D warnings (passed); cargo +1.97.0 fmt --all -- --check (passed). The full surface guard suite remains 27/33 because six pre-existing Windows/Lance local _refs/branches permission or e_tag guards fail in this environment. |
# Conflicts: # crates/omnigraph/src/instrumentation.rs
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
Summary
OMNIGRAPH_ANN_NPROBES; invalid and non-positive values fall back to 20.This prevents Lance 11's unset maximum probe budget from probing every IVF partition while preserving nearest filtering and ordering behavior.
Validation
cargo fmt --all -- --checkcargo test -p omnigraph-engine --lib ann_probe_budget_tests --locked(3 passed)cargo test -p omnigraph-engine --test search --locked(32 passed)OMNIGRAPH_ANN_NPROBES=1 cargo test -p omnigraph-engine --test search nearest_returns_k_closest --locked(1 passed)cargo test -p omnigraph-engine --test traversal --locked(28 passed)The canonical workspace feature-superset test and Clippy remain blocked by pre-existing errors outside this change in
omnigraph-bench,omnigraph-azure-admission, andomnigraph-engine/tests/end_to_end.rs.Closes #567
Greptile Summary
The PR bounds Lance IVF nearest-neighbor scans to 20 probes by default while allowing deployment-level tuning and an uncapped completeness retry for under-filled filtered searches.
OMNIGRAPH_ANN_NPROBES.Confidence Score: 5/5
The PR appears safe to merge.
No blocking failure remains.
Important Files Changed
Reviews (7): Last reviewed commit: "Merge remote-tracking branch 'upstream/m..." | Re-trigger Greptile