Example usage for org.apache.hadoop.yarn.api.protocolrecords GetContainerStatusesResponse getContainerStatuses

List of usage examples for org.apache.hadoop.yarn.api.protocolrecords GetContainerStatusesResponse getContainerStatuses

Introduction

In this page you can find the example usage for org.apache.hadoop.yarn.api.protocolrecords GetContainerStatusesResponse getContainerStatuses.

Prototype

@Public
@Stable
public abstract List<ContainerStatus> getContainerStatuses();

Source Link

Document

Get the ContainerStatuses of the requested containers.

Usage

From source file:org.apache.hama.bsp.BSPTaskLauncher.java

License:Apache License

/**
 * This polls the current container status from container manager. Null if the
 * container hasn't finished yet./*from  www .java  2s.c o m*/
 * 
 * @return
 * @throws Exception
 */
public BSPTaskStatus poll() throws Exception {

    ContainerStatus lastStatus = null;
    GetContainerStatusesResponse getContainerStatusesResponse = cm.getContainerStatuses(statusRequest);
    List<ContainerStatus> containerStatuses = getContainerStatusesResponse.getContainerStatuses();
    for (ContainerStatus containerStatus : containerStatuses) {
        LOG.info("Got container status for containerID=" + containerStatus.getContainerId() + ", state="
                + containerStatus.getState() + ", exitStatus=" + containerStatus.getExitStatus()
                + ", diagnostics=" + containerStatus.getDiagnostics());

        if (containerStatus.getContainerId().equals(allocatedContainer.getId())) {
            lastStatus = containerStatus;
            break;
        }
    }
    if (lastStatus.getState() != ContainerState.COMPLETE) {
        return null;
    }
    LOG.info(this.id + " Last report comes with exitstatus of " + lastStatus.getExitStatus()
            + " and diagnose string of " + lastStatus.getDiagnostics());

    return new BSPTaskStatus(id, lastStatus.getExitStatus());
}