github-actions[bot] commented on code in PR #66710:
URL: https://github.com/apache/doris/pull/66710#discussion_r3781348398


##########
fe/fe-core/src/main/java/org/apache/doris/planner/ScanNode.java:
##########
@@ -129,6 +131,32 @@ protected List<Column> getColumns() {
         return columns;
     }
 
+    /**
+     * Split this scan node's ranges into the requested number of fragment 
instances.
+     * Subclasses may keep related ranges in the same partition by overriding 
this method.
+     */
+    public List<List<Integer>> splitScanRangeParamsByInstance(
+            List<TScanRangeParams> scanRangeParams, int expectedInstanceNum) {
+        List<Integer> rangeIndexes = IntStream.range(0, 
scanRangeParams.size()).boxed().collect(Collectors.toList());

Review Comment:
   The default path now boxes every range index, partitions those indices, and 
then both legacy and Nereids walk them again to rebuild the same range 
partitions. `OlapScanNode` inherits this too, so high-tablet queries unrelated 
to file affinity pay O(range count) extra objects and traversals; Nereids local 
shuffle even discards these rebuilt partitions and dispatches the original 
source. Please keep the previous direct range-object split as the default and 
restrict index/group materialization to scan nodes that actually have affinity 
work.
   



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