Package org.apache.twill.internal.yarn.ports

Examples of org.apache.twill.internal.yarn.ports.AllocationResponse


    amrmClient.removeContainerRequest(request);
  }

  @Override
  protected AllocateResult doAllocate(float progress) throws Exception {
    AllocationResponse response = amrmClient.allocate(progress);
    List<RunnableProcessLauncher> launchers
      = Lists.newArrayListWithCapacity(response.getAllocatedContainers().size());

    for (Container container : response.getAllocatedContainers()) {
      launchers.add(new RunnableProcessLauncher(new Hadoop20YarnContainerInfo(container), nmClient));
    }

    List<YarnContainerStatus> completed = ImmutableList.copyOf(
      Iterables.transform(response.getCompletedContainersStatuses(), STATUS_TRANSFORM));

    return new AllocateResult(launchers, completed);
  }
View Full Code Here


    this.trackerUrl = trackerUrl;
  }

  @Override
  public synchronized void allocate(float progress, AllocateHandler handler) throws Exception {
    AllocationResponse response = amrmClient.allocate(progress);
    List<ProcessLauncher<YarnContainerInfo>> launchers
      = Lists.newArrayListWithCapacity(response.getAllocatedContainers().size());

    for (Container container : response.getAllocatedContainers()) {
      launchers.add(new RunnableProcessLauncher(new Hadoop20YarnContainerInfo(container), nmClient));
    }

    if (!launchers.isEmpty()) {
      handler.acquired(launchers);

      // If no process has been launched through the given launcher, return the container.
      for (ProcessLauncher<YarnContainerInfo> l : launchers) {
        // This cast always works.
        RunnableProcessLauncher launcher = (RunnableProcessLauncher) l;
        if (!launcher.isLaunched()) {
          Container container = launcher.getContainerInfo().getContainer();
          LOG.info("Nothing to run in container, releasing it: {}", container);
          amrmClient.releaseAssignedContainer(container.getId());
        }
      }
    }

    List<YarnContainerStatus> completed = ImmutableList.copyOf(
      Iterables.transform(response.getCompletedContainersStatuses(), STATUS_TRANSFORM));
    if (!completed.isEmpty()) {
      handler.completed(completed);
    }
  }
View Full Code Here

    this.trackerUrl = trackerUrl;
  }

  @Override
  public synchronized void allocate(float progress, AllocateHandler handler) throws Exception {
    AllocationResponse response = amrmClient.allocate(progress);
    List<ProcessLauncher<YarnContainerInfo>> launchers
      = Lists.newArrayListWithCapacity(response.getAllocatedContainers().size());

    for (Container container : response.getAllocatedContainers()) {
      launchers.add(new RunnableProcessLauncher(new Hadoop20YarnContainerInfo(container), nmClient));
    }

    if (!launchers.isEmpty()) {
      handler.acquired(launchers);

      // If no process has been launched through the given launcher, return the container.
      for (ProcessLauncher<YarnContainerInfo> l : launchers) {
        // This cast always works.
        RunnableProcessLauncher launcher = (RunnableProcessLauncher) l;
        if (!launcher.isLaunched()) {
          Container container = launcher.getContainerInfo().getContainer();
          LOG.info("Nothing to run in container, releasing it: {}", container);
          amrmClient.releaseAssignedContainer(container.getId());
        }
      }
    }

    List<YarnContainerStatus> completed = ImmutableList.copyOf(
      Iterables.transform(response.getCompletedContainersStatuses(), STATUS_TRANSFORM));
    if (!completed.isEmpty()) {
      handler.completed(completed);
    }
  }
View Full Code Here

TOP

Related Classes of org.apache.twill.internal.yarn.ports.AllocationResponse

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.