diff --git a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/MultiStageEngineExplainIntegrationTest.java b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/MultiStageEngineExplainIntegrationTest.java index 3c8e931616e..8303a583d38 100644 --- a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/MultiStageEngineExplainIntegrationTest.java +++ b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/MultiStageEngineExplainIntegrationTest.java @@ -83,7 +83,7 @@ public void simpleQuery() { + "PinotLogicalExchange(distribution=[broadcast])\n" + " LeafStageCombineOperator(table=[mytable])\n" + " StreamingInstanceResponse\n" - + " StreamingCombineSelect(repeated=[12])\n" + + " StreamingCombineSelect\n" + " SelectStreaming(table=[mytable], totalDocs=[115545])\n" + " Transform(expressions=[['1']])\n" + " Project(columns=[[]])\n" @@ -97,77 +97,70 @@ public void simpleQueryVerbose() { explainVerbose("SELECT 1 FROM mytable", //@formatter:off "Execution Plan\n" - + "IntermediateCombine\n" - + " Alternative(servers=[1])\n" - + " PinotLogicalExchange(distribution=[broadcast])\n" - + " LeafStageCombineOperator(table=[mytable])\n" - + " StreamingInstanceResponse\n" - + " StreamingCombineSelect\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n" - + " Alternative(servers=[1])\n" - + " PinotLogicalExchange(distribution=[broadcast])\n" - + " LeafStageCombineOperator(table=[mytable])\n" - + " StreamingInstanceResponse\n" - + " StreamingCombineSelect\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n" - + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" - + " Transform(expressions=[['1']])\n" - + " Project(columns=[[]])\n" - + " DocIdSet(maxDocs=[10000])\n" - + " FilterMatchEntireSegment(numDocs=[any])\n"); + + "PinotLogicalExchange(distribution=[broadcast])\n" + + " LeafStageCombineOperator(table=[mytable])\n" + + " StreamingInstanceResponse\n" + + " StreamingCombineSelect\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n" + + " SelectStreaming(segment=[any], table=[mytable], totalDocs=[any])\n" + + " Transform(expressions=[['1']])\n" + + " Project(columns=[[]])\n" + + " DocIdSet(maxDocs=[10000])\n" + + " FilterMatchEntireSegment(numDocs=[any])\n"); //@formatter:on } diff --git a/pinot-query-planner/src/main/java/org/apache/pinot/query/planner/explain/ExplainNodeSimplifier.java b/pinot-query-planner/src/main/java/org/apache/pinot/query/planner/explain/ExplainNodeSimplifier.java index e7a1b8d48d0..17b0b02fe1e 100644 --- a/pinot-query-planner/src/main/java/org/apache/pinot/query/planner/explain/ExplainNodeSimplifier.java +++ b/pinot-query-planner/src/main/java/org/apache/pinot/query/planner/explain/ExplainNodeSimplifier.java @@ -21,10 +21,7 @@ import com.google.common.base.CaseFormat; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.List; -import java.util.Map; -import org.apache.pinot.common.proto.Plan; import org.apache.pinot.core.query.reduce.ExplainPlanDataTableReducer; import org.apache.pinot.query.planner.plannode.AggregateNode; import org.apache.pinot.query.planner.plannode.ExchangeNode; @@ -54,10 +51,8 @@ *