Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/1051#discussion_r153394006 --- 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 -- Actually, why not just accept the `work` object? I has all the items we need.
---