You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "walterddr (via GitHub)" <gi...@apache.org> on 2023/05/30 17:43:19 UTC
[GitHub] [pinot] walterddr commented on a diff in pull request #10813: [multi-stage]Adding ExchangeNode.Type for SubPlan/PlanFragment/PipelineBreaker
walterddr commented on code in PR #10813:
URL: https://github.com/apache/pinot/pull/10813#discussion_r1210611522
##########
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/plannode/ExchangeNode.java:
##########
@@ -102,4 +110,17 @@ public List<RelFieldCollation> getCollations() {
public Set<String> getTableNames() {
return _tableNames;
}
+
+ /** Type of exchange. */
+ public enum Type {
Review Comment:
suggest name it as ExchangeType. later we want to also get rid of RelDistribution.Type dependency from Calcite and we might add DistributionType Enum as well here
##########
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/logical/RelToPlanNodeConverter.java:
##########
@@ -120,8 +120,8 @@ private static PlanNode convertLogicalExchange(Exchange node, int currentStageId
// Compute all the tables involved under this exchange node
Set<String> tableNames = getTableNamesFromRelRoot(node);
- return new ExchangeNode(currentStageId, toDataSchema(node.getRowType()), tableNames, node.getDistribution(),
- fieldCollations, isSortOnSender, isSortOnReceiver);
+ return new ExchangeNode(currentStageId, toDataSchema(node.getRowType()), ExchangeNode.Type.PLAN_FRAGMENT,
+ tableNames, node.getDistribution(), fieldCollations, isSortOnSender, isSortOnReceiver);
Review Comment:
this is the only place to add exchange type which is hard-coded. what's the plan to make a decision on whether to use SUBPLAN or FRAGMENT?
need to address the following questions
- does it use RelHint?
- if so which RelHint to use and how does it apply to Exchange
this PR should provide an example for utilizing it to create something other than PLAN_FRAGMENT exchange
--
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: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org