This is an automated email from the ASF dual-hosted git repository.

gortiz pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


    from 1e771ea458 Fix behavior for distinct sum and distinct avg when all 
values are null (#14069)
     add c484fef0f5 Multi stage explain (#13733)

No new revisions were added by this update.

Summary of changes:
 .../MultiStageBrokerRequestHandler.java            |  28 +-
 .../org/apache/pinot/common/utils/DataSchema.java  | 155 +++++-
 .../apache/pinot/common/utils/DatabaseUtils.java   |   9 +-
 .../common/utils/config/QueryOptionsUtils.java     |   9 +
 pinot-common/src/main/proto/plan.proto             |  47 ++
 pinot-common/src/main/proto/worker.proto           |   7 +
 .../org/apache/pinot/core/common/Operator.java     |  38 +-
 .../AcquireReleaseColumnsSegmentOperator.java      |  11 +
 .../apache/pinot/core/operator/BaseOperator.java   |  30 ++
 .../pinot/core/operator/DocIdSetOperator.java      |   6 +
 .../core/operator/ExplainAttributeBuilder.java     |  74 +++
 .../pinot/core/operator/ProjectionOperator.java    |  12 +
 ...ResultsBlock.java => ExplainV2ResultBlock.java} |  75 ++-
 .../operator/filter/ExpressionFilterOperator.java  |  14 +
 .../filter/H3InclusionIndexFilterOperator.java     |  16 +-
 .../operator/filter/H3IndexFilterOperator.java     |  15 +
 .../filter/InvertedIndexFilterOperator.java        |  17 +-
 .../operator/filter/JsonMatchFilterOperator.java   |  17 +-
 .../operator/filter/MatchAllFilterOperator.java    |  13 +
 .../filter/RangeIndexBasedFilterOperator.java      |  16 +
 .../operator/filter/ScanBasedFilterOperator.java   |  14 +
 .../filter/SortedIndexBasedFilterOperator.java     |  15 +
 .../filter/TextContainsFilterOperator.java         |  17 +-
 .../operator/filter/TextMatchFilterOperator.java   |  15 +
 .../filter/VectorSimilarityFilterOperator.java     |  17 +
 .../core/operator/query/AggregationOperator.java   |  21 +
 .../core/operator/query/DistinctOperator.java      |  21 +
 .../query/FilteredAggregationOperator.java         |  12 +
 .../operator/query/FilteredGroupByOperator.java    |  25 +
 .../pinot/core/operator/query/GroupByOperator.java |  23 +
 .../query/LinearSelectionOrderByOperator.java      |  34 +-
 .../core/operator/query/SelectionOnlyOperator.java |  19 +
 .../operator/query/SelectionOrderByOperator.java   |  18 +
 .../SelectionPartiallyOrderedByAscOperator.java    |   2 +-
 .../SelectionPartiallyOrderedByDescOperation.java  |   2 +-
 .../streaming/StreamingSelectionOnlyOperator.java  |  21 +
 .../core/operator/transform/TransformOperator.java |  16 +-
 .../org/apache/pinot/core/plan/ExplainInfo.java    |  63 +++
 .../pinot/core/plan/PinotExplainedRelNode.java     | 150 ++++++
 .../query/executor/ServerQueryExecutorV1Impl.java  | 206 +++++---
 .../query/reduce/ExplainPlanDataTableReducer.java  |   2 +-
 .../request/context/ExplainMode.java}              |  45 +-
 .../core/query/request/context/QueryContext.java   |  25 +-
 .../context/utils/QueryContextConverterUtils.java  |  18 +-
 .../org/apache/pinot/queries/BaseQueriesTest.java  |  11 +-
 pinot-integration-tests/pom.xml                    |   5 +
 .../MultiStageEngineExplainIntegrationTest.java    | 241 ++++++++++
 .../tests/MultiStageEngineIntegrationTest.java     |   2 +-
 .../tests/OfflineClusterIntegrationTest.java       |  15 +-
 .../org/apache/pinot/query/QueryEnvironment.java   |  45 +-
 .../apache/pinot/query/context/PlannerContext.java |   3 +-
 .../apache/pinot/query/planner/PlannerUtils.java   |  35 +-
 .../explain/AskingServerStageExplainer.java        | 149 ++++++
 .../planner/explain/ExplainNodeSimplifier.java     | 186 ++++++++
 .../MultiStageExplainAskingServersUtils.java       | 107 +++++
 .../explain/PhysicalExplainPlanVisitor.java        |   6 +
 .../query/planner/explain/PinotRelJsonWriter.java  |  38 +-
 .../query/planner/explain/PlanNodeMerger.java      | 530 +++++++++++++++++++++
 .../query/planner/explain/PlanNodeSorter.java      | 244 ++++++++++
 .../query/planner/logical/LiteralValueNode.java    |   9 +
 .../planner/logical/PinotLogicalQueryPlanner.java  |  39 +-
 .../query/planner/logical/PlanFragmenter.java      |  29 +-
 .../planner/logical/PlanNodeToRelConverter.java    | 468 ++++++++++++++++++
 .../planner/logical/RelToPlanNodeConverter.java    |  33 +-
 .../query/planner/logical/RexExpressionUtils.java  | 146 ++++++
 .../query/planner/logical/SubPlanFragmenter.java   |   6 +
 .../planner/logical/TransformationTracker.java     | 107 +++++
 .../planner/physical/DispatchablePlanVisitor.java  |   6 +
 .../colocated/GreedyShuffleRewriteVisitor.java     |   6 +
 .../query/planner/plannode/AggregateNode.java      |   5 +
 .../plannode/DefaultPostOrderTraversalVisitor.java |   6 +
 .../pinot/query/planner/plannode/ExchangeNode.java |   6 +
 .../query/planner/plannode/ExplainedNode.java      |  95 ++++
 .../pinot/query/planner/plannode/FilterNode.java   |   5 +
 .../pinot/query/planner/plannode/JoinNode.java     |   5 +
 .../query/planner/plannode/MailboxReceiveNode.java |   6 +
 .../query/planner/plannode/MailboxSendNode.java    |   6 +
 .../pinot/query/planner/plannode/PlanNode.java     |  11 +
 .../query/planner/plannode/PlanNodeVisitor.java    |   2 +
 .../pinot/query/planner/plannode/ProjectNode.java  |   5 +
 .../pinot/query/planner/plannode/SetOpNode.java    |   5 +
 .../pinot/query/planner/plannode/SortNode.java     |   5 +
 .../query/planner/plannode/TableScanNode.java      |   5 +
 .../pinot/query/planner/plannode/ValueNode.java    |   5 +
 .../pinot/query/planner/plannode/WindowNode.java   |   6 +
 .../query/planner/serde/PlanNodeDeserializer.java  |   9 +
 .../query/planner/serde/PlanNodeSerializer.java    |  11 +
 .../validation/ArrayToMvValidationVisitor.java     |   7 +
 .../org/apache/pinot/query/type/TypeFactory.java   |   2 +
 .../apache/pinot/query/QueryCompilationTest.java   |   6 +-
 .../query/queries/ResourceBasedQueryPlansTest.java |   4 +-
 .../query/runtime/InStageStatsTreeBuilder.java     |   6 +
 .../apache/pinot/query/runtime/QueryRunner.java    |  73 ++-
 .../LeafStageTransferableBlockOperator.java        |  68 +++
 .../query/runtime/operator/MultiStageOperator.java |  26 +
 .../query/runtime/plan/PhysicalPlanVisitor.java    | 170 -------
 .../query/runtime/plan/PlanNodeToOpChain.java      | 207 ++++++++
 .../plan/pipeline/PipelineBreakerContext.java      |   2 +-
 .../plan/pipeline/PipelineBreakerExecutor.java     |  10 +-
 .../plan/server/ServerPlanRequestUtils.java        |  27 +-
 .../plan/server/ServerPlanRequestVisitor.java      |   6 +
 ...bserver.java => AllValuesDispatchObserver.java} |  20 +-
 ...eryDispatchResponse.java => AsyncResponse.java} |  14 +-
 .../query/service/dispatch/DispatchClient.java     |  10 +-
 ...bserver.java => LastValueDispatchObserver.java} |  21 +-
 .../query/service/dispatch/QueryDispatcher.java    | 244 +++++++---
 .../pinot/query/service/server/QueryServer.java    | 194 ++++++--
 .../apache/pinot/spi/utils/CommonConstants.java    |  21 +
 108 files changed, 4655 insertions(+), 557 deletions(-)
 create mode 100644 
pinot-core/src/main/java/org/apache/pinot/core/operator/ExplainAttributeBuilder.java
 copy 
pinot-core/src/main/java/org/apache/pinot/core/operator/blocks/results/{ExplainResultsBlock.java
 => ExplainV2ResultBlock.java} (56%)
 create mode 100644 
pinot-core/src/main/java/org/apache/pinot/core/plan/ExplainInfo.java
 create mode 100644 
pinot-core/src/main/java/org/apache/pinot/core/plan/PinotExplainedRelNode.java
 copy 
pinot-core/src/main/java/org/apache/pinot/core/{operator/blocks/ValueBlock.java 
=> query/request/context/ExplainMode.java} (50%)
 create mode 100644 
pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/MultiStageEngineExplainIntegrationTest.java
 create mode 100644 
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/explain/AskingServerStageExplainer.java
 create mode 100644 
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/explain/ExplainNodeSimplifier.java
 create mode 100644 
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/explain/MultiStageExplainAskingServersUtils.java
 copy 
pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/IsNotTrueTransformFunction.java
 => 
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/explain/PinotRelJsonWriter.java
 (54%)
 create mode 100644 
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/explain/PlanNodeMerger.java
 create mode 100644 
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/explain/PlanNodeSorter.java
 create mode 100644 
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/logical/PlanNodeToRelConverter.java
 create mode 100644 
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/logical/TransformationTracker.java
 create mode 100644 
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/plannode/ExplainedNode.java
 delete mode 100644 
pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/plan/PhysicalPlanVisitor.java
 create mode 100644 
pinot-query-runtime/src/main/java/org/apache/pinot/query/runtime/plan/PlanNodeToOpChain.java
 copy 
pinot-query-runtime/src/main/java/org/apache/pinot/query/service/dispatch/{DispatchObserver.java
 => AllValuesDispatchObserver.java} (67%)
 rename 
pinot-query-runtime/src/main/java/org/apache/pinot/query/service/dispatch/{AsyncQueryDispatchResponse.java
 => AsyncResponse.java} (80%)
 rename 
pinot-query-runtime/src/main/java/org/apache/pinot/query/service/dispatch/{DispatchObserver.java
 => LastValueDispatchObserver.java} (61%)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to