JunRuiLee opened a new pull request, #647:
URL: https://github.com/apache/paimon-rust/pull/647

   ### Purpose
   
   This is PR 3/3 of a stacked vector-search performance series.
   
   Depends on:
   
   1. #645
   2. #646
   
   PK-vector bucket search previously did not execute all independent search 
work
   concurrently. ANN segments and exact-fallback files were scheduled in 
separate
   phases, and ANN CPU work could run inline or serially despite a configured
   `global-index.thread-num` greater than one.
   
   This change represents ANN segments and uncovered exact files as independent
   leaves, executes them through one bounded concurrency window, and moves 
blocking
   index searches to a shared process-level executor.
   
   While the preceding PRs are open, GitHub's main-based diff also contains PR 1
   and PR 2. The isolated change in this PR is commit `80367d7`.
   
   ### Brief change log
   
   - Combine ANN-segment and exact-file work into one concurrent bucket leaf 
plan.
   - Load each ANN segment lazily inside its leaf instead of preloading every 
index.
   - Keep vindex segments range-backed and Lumina segments buffered.
   - Run blocking ANN and regular global vector-index searches on a dedicated
     process-level executor.
   - Apply one per-query concurrency budget across buckets, ANN segments, and 
exact
     fallback files.
   - Apply a shared process-level budget across concurrent queries.
   - Drain all submitted leaves and report errors deterministically by 
submission
     order.
   - Preserve deterministic Top-K merging regardless of leaf completion order.
   - Validate `global-index.thread-num` against Tokio's semaphore limit.
   
   ### Tests
   
   - `cargo check -p paimon`
   - `cargo test -p paimon vindex::executor --lib`
   - `cargo test -p paimon vindex::pkvector --lib`
   - `cargo test -p paimon table::pk_vector_orchestrator --lib`
   - `cargo test -p paimon table::vector_search_builder --lib`
   - `cargo test -p paimon test_global_index_thread_num --lib`
   - `cargo test -p paimon --test pk_vector_baseline_test`
   - `cargo test -p paimon --test pk_vector_batch_test`
   - `cargo test -p paimon --test pk_vector_java_fixture_test`
   - `cargo clippy -p paimon --lib --tests -- -D warnings`
   - `cargo fmt --all -- --check`
   - `git diff --check`
   
   ### API and Format
   
   No public API or storage-format changes.
   
   The concurrency configuration retains the existing
   `global-index.thread-num` option and default value.
   
   ### Documentation
   
   No user-facing documentation changes are required. The concurrency and 
execution
   changes are internal to vector-index reads.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to