gortiz commented on code in PR #13306:
URL: https://github.com/apache/pinot/pull/13306#discussion_r1627085061


##########
pinot-query-planner/src/main/java/org/apache/pinot/query/planner/logical/PinotLogicalQueryPlanner.java:
##########
@@ -51,70 +48,72 @@ private PinotLogicalQueryPlanner() {
    * Converts a Calcite {@link RelRoot} into a Pinot {@link SubPlan}.
    */
   public static SubPlan makePlan(RelRoot relRoot) {
-    PlanNode rootNode = relNodeToStageNode(relRoot.rel);
-    QueryPlanMetadata metadata =
-        new 
QueryPlanMetadata(RelToPlanNodeConverter.getTableNamesFromRelRoot(relRoot.rel), 
relRoot.fields);
+    PlanNode rootNode = relNodeToPlanNode(relRoot.rel);
+    PlanFragment rootFragment = planNodeToPlanFragment(rootNode);
+    return new SubPlan(rootFragment,
+        new 
SubPlanMetadata(RelToPlanNodeConverter.getTableNamesFromRelRoot(relRoot.rel), 
relRoot.fields), List.of());
 
+    // TODO: Currently we don't support multiple sub-plans. Revisit the 
following logic when we add the support.
     // Fragment the stage tree into multiple SubPlans.
-    SubPlanFragmenter.Context subPlanContext = new SubPlanFragmenter.Context();
-    subPlanContext._subPlanIdToRootNodeMap.put(0, rootNode);
-    subPlanContext._subPlanIdToMetadataMap.put(0, new 
SubPlanMetadata(metadata.getTableNames(), metadata.getFields()));
-    rootNode.visit(SubPlanFragmenter.INSTANCE, subPlanContext);
-
-    Map<Integer, SubPlan> subPlanMap = new HashMap<>();
-    for (Map.Entry<Integer, PlanNode> subPlanEntry : 
subPlanContext._subPlanIdToRootNodeMap.entrySet()) {
-      int subPlanId = subPlanEntry.getKey();
-      PlanNode subPlanRoot = subPlanEntry.getValue();
-
-      // Fragment the SubPlan into multiple PlanFragments.
-      PlanFragmenter fragmenter = new PlanFragmenter();
-      PlanFragmenter.Context fragmenterContext = fragmenter.createContext();
-      subPlanRoot = subPlanRoot.visit(fragmenter, fragmenterContext);
-      Int2ObjectOpenHashMap<PlanFragment> planFragmentMap = 
fragmenter.getPlanFragmentMap();
-      Int2ObjectOpenHashMap<IntList> childPlanFragmentIdsMap = 
fragmenter.getChildPlanFragmentIdsMap();
-
-      // Sub plan root needs to send final results back to the Broker
-      // TODO: Should be SINGLETON (currently SINGLETON has to be local, so 
use BROADCAST_DISTRIBUTED instead)
-      MailboxSendNode subPlanRootSenderNode =
-          new MailboxSendNode(subPlanRoot.getPlanFragmentId(), 
subPlanRoot.getDataSchema(), 0,
-              RelDistribution.Type.BROADCAST_DISTRIBUTED, 
PinotRelExchangeType.getDefaultExchangeType(), null, null,
-              false, false);
-      subPlanRootSenderNode.addInput(subPlanRoot);
-      PlanFragment planFragment1 = new PlanFragment(1, subPlanRootSenderNode, 
new ArrayList<>());
-      planFragmentMap.put(1, planFragment1);
-      for (Int2ObjectMap.Entry<IntList> entry : 
childPlanFragmentIdsMap.int2ObjectEntrySet()) {
-        PlanFragment planFragment = planFragmentMap.get(entry.getIntKey());
-        List<PlanFragment> childPlanFragments = planFragment.getChildren();
-        IntListIterator childPlanFragmentIdIterator = 
entry.getValue().iterator();
-        while (childPlanFragmentIdIterator.hasNext()) {
-          
childPlanFragments.add(planFragmentMap.get(childPlanFragmentIdIterator.nextInt()));
-        }
-      }
-      MailboxReceiveNode rootReceiveNode =
-          new MailboxReceiveNode(0, subPlanRoot.getDataSchema(), 
subPlanRoot.getPlanFragmentId(),
-              RelDistribution.Type.BROADCAST_DISTRIBUTED, 
PinotRelExchangeType.getDefaultExchangeType(), null, null,
-              false, false, subPlanRootSenderNode);
-      PlanFragment rootPlanFragment = new PlanFragment(0, rootReceiveNode, 
Collections.singletonList(planFragment1));
-      SubPlan subPlan = new SubPlan(rootPlanFragment, 
subPlanContext._subPlanIdToMetadataMap.get(0), new ArrayList<>());
-      subPlanMap.put(subPlanId, subPlan);
-    }
-    for (Map.Entry<Integer, List<Integer>> subPlanToChildrenEntry : 
subPlanContext._subPlanIdToChildrenMap.entrySet()) {
-      int subPlanId = subPlanToChildrenEntry.getKey();
-      List<Integer> subPlanChildren = subPlanToChildrenEntry.getValue();
-      for (int subPlanChild : subPlanChildren) {
-        
subPlanMap.get(subPlanId).getChildren().add(subPlanMap.get(subPlanChild));
-      }
-    }
-    return subPlanMap.get(0);
+//    SubPlanFragmenter.Context subPlanContext = new 
SubPlanFragmenter.Context();
+//    subPlanContext._subPlanIdToRootNodeMap.put(0, rootNode);
+//    subPlanContext._subPlanIdToMetadataMap.put(0,
+//        new 
SubPlanMetadata(RelToPlanNodeConverter.getTableNamesFromRelRoot(relRoot.rel), 
relRoot.fields));
+//    rootNode.visit(SubPlanFragmenter.INSTANCE, subPlanContext);
+//
+//    Map<Integer, SubPlan> subPlanMap = new HashMap<>();
+//    for (Map.Entry<Integer, PlanNode> subPlanEntry : 
subPlanContext._subPlanIdToRootNodeMap.entrySet()) {
+//      SubPlan subPlan =
+//          new SubPlan(planNodeToPlanFragment(subPlanEntry.getValue()), 
subPlanContext._subPlanIdToMetadataMap.get(0),
+//              new ArrayList<>());
+//      subPlanMap.put(subPlanEntry.getKey(), subPlan);
+//    }
+//    for (Map.Entry<Integer, List<Integer>> subPlanToChildrenEntry : 
subPlanContext._subPlanIdToChildrenMap.entrySet
+//    ()) {
+//      int subPlanId = subPlanToChildrenEntry.getKey();
+//      List<Integer> subPlanChildren = subPlanToChildrenEntry.getValue();
+//      for (int subPlanChild : subPlanChildren) {
+//        
subPlanMap.get(subPlanId).getChildren().add(subPlanMap.get(subPlanChild));
+//      }
+//    }
+//    return subPlanMap.get(0);

Review Comment:
   Shouldn't we remove this code?



-- 
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-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to