예제 #1
0
  private Bucket collect(CollectPhase collectNode) throws Throwable {
    ContextPreparer contextPreparer = internalCluster().getDataNodeInstance(ContextPreparer.class);
    JobContextService contextService =
        internalCluster().getDataNodeInstance(JobContextService.class);
    SharedShardContexts sharedShardContexts =
        new SharedShardContexts(internalCluster().getDataNodeInstance(IndicesService.class));
    JobExecutionContext.Builder builder = contextService.newBuilder(collectNode.jobId());
    NodeOperation nodeOperation =
        NodeOperation.withDownstream(
            collectNode, mock(ExecutionPhase.class), (byte) 0, "remoteNode");

    List<ListenableFuture<Bucket>> results =
        contextPreparer.prepareOnRemote(
            collectNode.jobId(), ImmutableList.of(nodeOperation), builder, sharedShardContexts);
    JobExecutionContext context = contextService.createContext(builder);
    context.start();
    return results.get(0).get(2, TimeUnit.SECONDS);
  }