Github user arina-ielchiieva commented on a diff in the pull request:
https://github.com/apache/drill/pull/1051#discussion_r153458672
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java ---
@@ -426,48 +413,25 @@ private void runPhysicalPlan(final PhysicalPlan plan)
throws ExecutionSetupExcep
queryManager.setTotalCost(plan.totalCost());
work.applyPlan(drillbitContext.getPlanReader());
logWorkUnit(work);
- admit(work);
- queryManager.setQueueName(queryRM.queueName());
-
- final List<PlanFragment> planFragments = work.getFragments();
- final PlanFragment rootPlanFragment = work.getRootFragment();
- assert queryId == rootPlanFragment.getHandle().getQueryId();
- drillbitContext.getWorkBus().addFragmentStatusListener(queryId,
queryManager.getFragmentStatusListener());
-
drillbitContext.getClusterCoordinator().addDrillbitStatusListener(queryManager.getDrillbitStatusListener());
+ fragmentsRunner.setPlanFragments(work.getFragments());
+ fragmentsRunner.setRootPlanFragment(work.getRootFragment());
+ fragmentsRunner.setRootOperator(work.getRootOperator());
--- End diff --
1. Agree. I will create single function to accept all of these.
2. `work` object is applicable only when we run query / prepared statement
/ plans. For the cases when run fragment, work object is not used at all [1].
Featured introduced in DRILL-4132 [2].
[1]
https://github.com/arina-ielchiieva/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java#L473
[2] https://issues.apache.org/jira/browse/DRILL-4132
---