feat(index): add num_segments for distributed index builds#5229
Open
ddupg wants to merge 1 commit into
Open
Conversation
Contributor
|
ACTION NEEDED The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification. For details on the error please inspect the "PR Title Check" action. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Background
Distributed index builds previously used
num_workersfor two different concerns: the number of fragment batches / index segments to create, and the maximum Ray Pool worker concurrency. These values do not always need to match. For example, a caller may want more index segments for the resulting index layout while keeping worker concurrency lower to fit available cluster resources. Coupling the two means increasing segment count also requires increasing concurrent workers, or limiting workers also limits segment count.Summary
num_segmentsoption to distributedcreate_indexandcreate_scalar_indexnum_workersas the maximum Ray Pool worker concurrencynum_segmentstonum_workersfor backwards compatibilityTesting
uv run pytest tests/test_vector_index_options.pyuv run pytest tests/test_distributed_indexing.py::TestDistributedIndexing::test_distributed_fts_index_new_api tests/test_distributed_indexing.py::test_build_distributed_vector_indexuv run ruff check lance_ray/index.py tests/test_vector_index_options.py tests/test_distributed_indexing.py