Jay-ju opened a new pull request, #66597:
URL: https://github.com/apache/doris/pull/66597

   ### What problem does this PR solve?
   
   Lance fragment metadata already carries the visible row count, and 
`LanceSplit` stores it as `selfSplitWeight`. However, 
`FileSplit#getSplitWeight` only uses that value when a common `targetSplitSize` 
is set. As a result, all Lance fragments currently have the same standard 
scheduling weight regardless of row count, which can cause uneven scan work 
across BEs when fragment sizes differ.
   
   This PR uses the largest fragment row count as one standard split and 
assigns smaller fragments a proportional weight. It changes only FE scheduling 
metadata:
   
   - split count and fragment order are unchanged;
   - dataset version and fragment IDs are unchanged;
   - BE scan and query result semantics are unchanged.
   
   ### Verification
   
   - Added `LanceScanNodeTest` covering fragment row counts `1000`, `250`, and 
`0`, which map to raw split weights `100`, `25`, and the minimum `1`.
   - `mvn validate -pl fe-core -am -DskipTests` passed for all 15 FE reactor 
modules with zero Checkstyle violations.
   - The targeted unit test is included for standard Doris CI. The local 
machine only has JDK 11 and lacks the project-pinned Thrift 0.16 generated 
sources, while this branch requires JDK 17.
   
   ### Check List
   
   - [x] Unit test
   - [x] No protocol change
   - [x] No query result behavior change
   - [x] No documentation change required


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to