Skip to content

docs: drop the dead rows_per_range create index option - #835

Open
jackylee-ch wants to merge 1 commit into
lance-format:mainfrom
jackylee-ch:docs/drop-dead-rows-per-range
Open

jackylee-ch wants to merge 1 commit into
lance-format:mainfrom
jackylee-ch:docs/drop-dead-rows-per-range

Conversation

@jackylee-ch

Copy link
Copy Markdown
Contributor

rows_per_range is documented as a Long with "Default is 1000000", but nothing reads it. In main it appears only in AddIndexExec's SparkOnlyOptions strip set (:801) and that class's javadoc (:70), so it never reaches the Lance index backend either — IndexUtilsTest asserts it is stripped from the JSON params. The range build takes its partition count from the fragment count (Math.max(1, numFragments)), so setting the option has no effect and no warning.

Contrast within the same command: zone_size is read at AddIndexExec.scala:333, and rows_per_zone is absent from the strip set so it passes through to Lance. Only rows_per_range is inert.

Replaces the row with a sentence on what actually determines the range partitioning. The strip set is left alone so statements that already pass the option keep working.

rows_per_range is documented as a Long with "Default is 1000000", but nothing reads it.
In main it appears only in AddIndexExec's SparkOnlyOptions strip set and that class's
javadoc, so it never reaches the Lance index backend either; IndexUtilsTest asserts it
is stripped from the JSON params. The range build takes its partition count from the
fragment count instead. Setting it has no effect and no warning.

The strip set is left alone so existing statements that pass it keep working.
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 15, 2026
lance-gatekeeper[bot]

This comment was marked as outdated.

@lance-gatekeeper lance-gatekeeper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Gate recommendation: approve.

The Lance 8 migration in #612 replaced global value ranges with disjoint fragment-covered segments. This docs-only correction now matches the live fragment-ID partitioning contract while leaving existing SQL that passes the ignored rows_per_range option compatible.

@lance-gatekeeper lance-gatekeeper Bot added the K-approved Latest Gatekeeper recommendation permits acceptance. label Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation K-approved Latest Gatekeeper recommendation permits acceptance.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant