Skip to content

enhance: parallelize retrieve output field materialization - #29

Merged
sunby merged 1 commit into
sunby:codex/load-1m-segments-pr-stack-rebased-qv-workfrom
sijie-ni-0214:retrieve-output-fields-parallel
Sep 10, 2026
Merged

enhance: parallelize retrieve output field materialization#29
sunby merged 1 commit into
sunby:codex/load-1m-segments-pr-stack-rebased-qv-workfrom
sijie-ni-0214:retrieve-output-fields-parallel

Conversation

@sijie-ni-0214

Copy link
Copy Markdown

The regular Query/Retrieve output-field path reads fields sequentially within each segment, including retrieval by offsets. Fetch these fields concurrently on the middle-priority pool through a helper shared with Search, while segment parent tasks remain on the search executor.

Use independent per-field operation contexts and I/O counters, then publish results in plan order while preserving PK-only retrieval, system fields, dynamic projection, and missing-field defaults. Preserve the original field error, cancel sibling reads, and drain submitted tasks before returning. Reserve result storage before dispatching tasks.

Validation:

  • make build-cpp-with-unittest SKIP_3RDPARTY=1 passed; the C++ source tree is identical before and after the rebase.
  • make build-go passed after the rebase.
  • 134 relevant C++ tests passed after the rebase, including 16 new cases covering concurrent reads, result order, primary keys, storage accounting, cancellation, failure cleanup, and dynamic/default fields.
  • git diff --check passed.

Share field-level scheduling between search and retrieve. Run field reads
on the middle-priority pool with independent operation contexts, then
publish results in plan order while preserving primary key handling and
storage accounting.

Cancel sibling reads on failure, preserve the original exception, and
drain pending tasks before returning. Reserve result storage before
dispatch and add coverage for concurrent reads, cancellation, failure
cleanup, and schema-dependent output fields.

Signed-off-by: sijie-ni-0214 <sijie.ni@zilliz.com>
@sunby
sunby merged commit a63fb2d into sunby:codex/load-1m-segments-pr-stack-rebased-qv-work Sep 10, 2026
6 of 8 checks passed
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.

2 participants