matrixorigin / matrixorigin/matrixone

[Tech Request]: Preserve Multi-CN for ivf_search entries scans under small estimated stats

Open
#25,454 4 comments 0 reactions 1 assignee Claimed by @Ariznawlll View on GitHub
ai-light kind/tech-request severity/s0
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.