use of com.linkedin.pinot.core.plan.CombinePlanNode in project pinot by linkedin.
the class InstancePlanMakerImplV2 method makeInterSegmentPlan.
@Override
public Plan makeInterSegmentPlan(List<SegmentDataManager> segmentDataManagers, BrokerRequest brokerRequest, ExecutorService executorService, long timeOutMs) {
// TODO: pass in List<IndexSegment> directly.
List<IndexSegment> indexSegments = new ArrayList<>(segmentDataManagers.size());
for (SegmentDataManager segmentDataManager : segmentDataManagers) {
indexSegments.add(segmentDataManager.getSegment());
}
BrokerRequestPreProcessor.preProcess(indexSegments, brokerRequest);
List<PlanNode> planNodes = new ArrayList<>();
for (IndexSegment indexSegment : indexSegments) {
planNodes.add(makeInnerSegmentPlan(indexSegment, brokerRequest));
}
CombinePlanNode combinePlanNode = new CombinePlanNode(planNodes, brokerRequest, executorService, timeOutMs);
return new GlobalPlanImplV0(new InstanceResponsePlanNode(combinePlanNode));
}
Aggregations