This is an automated email from the ASF dual-hosted git repository. 924060929 pushed a commit to branch fe_local_shuffle_rebase in repository https://gitbox.apache.org/repos/asf/doris.git
commit 0910fd4b240c5c896c7fc65e148fb37d3d1a47a2 Author: 924060929 <[email protected]> AuthorDate: Wed May 27 10:57:50 2026 +0800 [test](local shuffle) update LocalShuffleNodeCoverageTest.testRepeatNode for noRequire fix The RepeatNode fix (stop forwarding the parent HASH require) changed this unit test's expected behavior: RepeatNode now passes noRequire to its child (no hash LE below the Repeat) and reports the child's own distribution (NOOP) instead of forcing LOCAL_EXECUTION_HASH_SHUFFLE. Assert the child receives NoRequire, the output type is NOOP, and no LocalExchange is inserted below the Repeat. --- .../apache/doris/planner/LocalShuffleNodeCoverageTest.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/LocalShuffleNodeCoverageTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/LocalShuffleNodeCoverageTest.java index c7c9f67dd76..4abd9286384 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/LocalShuffleNodeCoverageTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/LocalShuffleNodeCoverageTest.java @@ -88,9 +88,14 @@ public class LocalShuffleNodeCoverageTest { Collections.singletonList(Collections.emptyList())); Pair<PlanNode, LocalExchangeType> output = repeatNode.enforceAndDeriveLocalExchange( ctx, null, LocalExchangeTypeRequire.requireHash()); - // resolveExchangeType with RequireHash always returns LOCAL_EXECUTION_HASH_SHUFFLE - Assertions.assertEquals(LocalExchangeType.LOCAL_EXECUTION_HASH_SHUFFLE, output.second); - assertChildLocalExchangeType(repeatNode, 0, LocalExchangeType.LOCAL_EXECUTION_HASH_SHUFFLE); + // RepeatNode must NOT forward the parent's HASH require to its child: it recurses + // with noRequire (so no hash LE is pushed below the Repeat) and reports the child's + // own distribution (NOOP) so the parent places the hash LE ABOVE the Repeat instead. + // Pre-fix this forwarded RequireHash and inserted a LOCAL_HASH LE below the Repeat + // (tpcds q67 skew). + Assertions.assertEquals(LocalExchangeNode.NoRequire.class, childNoop.lastRequire.getClass()); + Assertions.assertEquals(LocalExchangeType.NOOP, output.second); + Assertions.assertSame(childNoop, repeatNode.getChild(0)); } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
