Skip to content

feat: support distributed IVF_RQ segment builds#6359

Merged
Xuanwo merged 1 commit intomainfrom
xuanwo/rq-distributed-index
Mar 31, 2026
Merged

feat: support distributed IVF_RQ segment builds#6359
Xuanwo merged 1 commit intomainfrom
xuanwo/rq-distributed-index

Conversation

@Xuanwo
Copy link
Copy Markdown
Collaborator

@Xuanwo Xuanwo commented Mar 31, 2026

This PR wires IVF_RQ into the distributed vector index segment build path so workers can build and commit shard-local RQ segments through the existing distributed indexing workflow. It also adds the missing RQ handling in the distributed auxiliary metadata plumbing and regression coverage for distributed RQ segment build plus auxiliary merge.

Current limitation: IVF_RQ still does not have a pre-trained/shared RQ metadata contract. Different RQ segments can therefore carry different rotations and centroids, so merging multiple IVF_RQ segments into a single physical segment is not a supported workflow yet. I plan to follow up by adding shared/pre-trained RQ metadata so segment merge can be supported safely.

@github-actions github-actions bot added the enhancement New feature or request label Mar 31, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 31, 2026

Codecov Report

❌ Patch coverage is 76.10619% with 81 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...lance-index/src/vector/distributed/index_merger.rs 76.10% 55 Missing and 21 partials ⚠️
.../lance-index/src/vector/shared/partition_merger.rs 80.00% 4 Missing ⚠️
rust/lance/src/index/vector/ivf.rs 0.00% 0 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

.with_ivf(ivf_model)
// For distributed shards, keep RQ codes in row-major layout.
// A single packing pass is performed in the distributed merge stage.
.with_transpose(false)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is nice!

@Xuanwo Xuanwo merged commit 0f08160 into main Mar 31, 2026
31 checks passed
@Xuanwo Xuanwo deleted the xuanwo/rq-distributed-index branch March 31, 2026 13:57
eddyxu pushed a commit that referenced this pull request Mar 31, 2026
This PR wires IVF_RQ into the distributed vector index segment build
path so workers can build and commit shard-local RQ segments through the
existing distributed indexing workflow. It also adds the missing RQ
handling in the distributed auxiliary metadata plumbing and regression
coverage for distributed RQ segment build plus auxiliary merge.

Current limitation: IVF_RQ still does not have a pre-trained/shared RQ
metadata contract. Different RQ segments can therefore carry different
rotations and centroids, so merging multiple IVF_RQ segments into a
single physical segment is not a supported workflow yet. I plan to
follow up by adding shared/pre-trained RQ metadata so segment merge can
be supported safely.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants