Stephen0421 opened a new pull request, #8831:
URL: https://github.com/apache/paimon/pull/8831

   ### Purpose
   Chain table batch reads currently produce one split per bucket, which limits 
read parallelism for large buckets. This PR adds key-range split generation for 
chain table batch scans:
   - Introduces `chain-table.split.key-range-enabled` (default: `true`); set to 
`false` to fall back to one split per bucket
   - Batch scans use `IntervalPartition` + `BinPacking` to split snapshot and 
delta files by key range; files with overlapping key ranges always stay in the 
same split so all versions of a key across branches are merged correctly
   - Streaming reads are unchanged and still use the original 
one-split-per-bucket behavior
   ### Tests
   - Added `ChainTableUtilsTest.testBuildChainSplitsWithKeyRangeSplitting`: 
verifies key-disjoint sections are split into separate splits and overlapping 
snapshot/delta files are kept together
   - Added 
`ChainTableUtilsTest.testBuildChainSplitsKeyRangeSplittingLargeTargetKeepsOneSplit`:
 verifies a large `targetSplitSize` packs all sections into a single split
   - Added `ChainTableUtilsTest.testBuildChainSplitsWithoutKeyRangeSplitting`: 
verifies a null `keyComparator` preserves the original one-split-per-bucket 
behavior
   


-- 
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