924060929 commented on code in PR #64793:
URL: https://github.com/apache/doris/pull/64793#discussion_r3479115697
##########
regression-test/suites/nereids_p0/local_shuffle/test_local_shuffle_rqg_bugs.groovy:
##########
@@ -522,7 +522,7 @@ suite("test_local_shuffle_rqg_bugs") {
// then NLJ (LEFT JOIN table1 table3 ON pk > col_bigint_undef_signed)
// ============================================================
- logger.info("=== Bug 10: GLOBAL_HASH_SHUFFLE Rows mismatched - self-join +
NLJ (build 184181 case 906784672) ===")
+ logger.info("=== Bug 10: GLOBAL_HASH_SHUFFLE Rows mismatched - self-join +
NLJ (RQG testing case 906784672) ===")
def bug10_fe = sql """
SELECT /*+SET_VAR(use_serial_exchange=true,
parallel_pipeline_task_num=4,
Review Comment:
Labeled it "Bug 20b" (it sits between Bug 20 and Bug 21) and applied the
prefix consistently to the section header and its log/assert messages, matching
the file convention.
##########
fe/fe-core/src/main/java/org/apache/doris/planner/RuntimeFilter.java:
##########
@@ -257,6 +257,29 @@ public boolean isFinalized() {
return finalized;
}
+ /**
+ * DFS from {@code node} down to {@code target} within the fragment
(stopping at
+ * ExchangeNode boundaries). Returns null if target is not under node,
otherwise
+ * whether the path crosses a LocalExchangeNode.
+ */
Review Comment:
Agreed it's O(N x depth) in the worst case, but this runs once per RF at
query-planning time (not per-row), and the per-RF local-target count and plan
depth are both small, so the absolute cost is negligible. I'd rather keep the
straight DFS readable here than add a per-target cache; happy to revisit if a
profile ever shows it mattering. Leaving as-is for this PR.
--
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]