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]