matrixorigin / matrixorigin/matrixone
[Tech Request]: Preserve Multi-CN for ivf_search entries scans under small estimated stats
- Dominant language
- Go
- Stars
- 1.9k
- Forks
- 311
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 768
Description
- [x] I have checked the existing issues.
## What would you like to be added?
Add a stable scheduling policy for `ivf_search` internal entries scans to keep Multi-CN execution under low-estimate cases, instead of falling back to One-CN from row/block shortcut logic.
### Scope
- IVFFLAT and HNSW vector index entries-table internal scans in query execution.
- `ivf_search` paths that go through function-scan or internal index-reader scan.
- Preserve Multi-CN intent unless explicitly blocked by existing hard constraints.
## Why is this needed?
- Small estimated statistics can still trigger one-CN execution, causing unstable parallelism.
- Multi-CN cache utilization and cluster throughput are reduced for vector lookup heavy workloads.
- The fix should make IVF entries scheduling deterministic and more cache-friendly across CNs.
## Additional information
This aligns with existing architecture: keep IVF entries scan classified as Multi-CN in planning, and prevent later local-scan fallback. This is a policy-level improvement and does not require a new object/block split mechanism first.
- Branch: `ivf-multi-cn-0704`
- Commit: `cb8510588`
Contributor guide
Assessment
This issue has not been assessed yet.