Search in sources :

Example 1 with GetContainerReportResponse

use of org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse in project hadoop by apache.

the class TestApplicationHistoryClientService method testContainerReport.

@Test
public void testContainerReport() throws IOException, YarnException {
    ApplicationId appId = ApplicationId.newInstance(0, 1);
    ApplicationAttemptId appAttemptId = ApplicationAttemptId.newInstance(appId, 1);
    ContainerId containerId = ContainerId.newContainerId(appAttemptId, 1);
    GetContainerReportRequest request = GetContainerReportRequest.newInstance(containerId);
    GetContainerReportResponse response = clientService.getContainerReport(request);
    ContainerReport container = response.getContainerReport();
    Assert.assertNotNull(container);
    Assert.assertEquals(containerId, container.getContainerId());
    Assert.assertEquals("http://0.0.0.0:8188/applicationhistory/logs/" + "test host:100/container_0_0001_01_000001/" + "container_0_0001_01_000001/user1", container.getLogUrl());
}
Also used : ContainerId(org.apache.hadoop.yarn.api.records.ContainerId) ContainerReport(org.apache.hadoop.yarn.api.records.ContainerReport) GetContainerReportResponse(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse) ApplicationAttemptId(org.apache.hadoop.yarn.api.records.ApplicationAttemptId) ApplicationId(org.apache.hadoop.yarn.api.records.ApplicationId) GetContainerReportRequest(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest) Test(org.junit.Test)

Example 2 with GetContainerReportResponse

use of org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse in project hadoop by apache.

the class TestClientRMService method testGetContainerReport.

@Test
public void testGetContainerReport() throws YarnException, IOException {
    ClientRMService rmService = createRMService();
    RecordFactory recordFactory = RecordFactoryProvider.getRecordFactory(null);
    GetContainerReportRequest request = recordFactory.newRecordInstance(GetContainerReportRequest.class);
    ApplicationAttemptId attemptId = ApplicationAttemptId.newInstance(ApplicationId.newInstance(123456, 1), 1);
    ContainerId containerId = ContainerId.newContainerId(attemptId, 1);
    request.setContainerId(containerId);
    try {
        GetContainerReportResponse response = rmService.getContainerReport(request);
        Assert.assertEquals(containerId, response.getContainerReport().getContainerId());
    } catch (ApplicationNotFoundException ex) {
        Assert.fail(ex.getMessage());
    }
}
Also used : RecordFactory(org.apache.hadoop.yarn.factories.RecordFactory) ContainerId(org.apache.hadoop.yarn.api.records.ContainerId) ApplicationNotFoundException(org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException) GetContainerReportResponse(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse) ApplicationAttemptId(org.apache.hadoop.yarn.api.records.ApplicationAttemptId) GetContainerReportRequest(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest) Test(org.junit.Test)

Example 3 with GetContainerReportResponse

use of org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse in project hadoop by apache.

the class YarnClientImpl method getContainerReport.

@Override
public ContainerReport getContainerReport(ContainerId containerId) throws YarnException, IOException {
    try {
        GetContainerReportRequest request = Records.newRecord(GetContainerReportRequest.class);
        request.setContainerId(containerId);
        GetContainerReportResponse response = rmClient.getContainerReport(request);
        return response.getContainerReport();
    } catch (YarnException e) {
        if (!historyServiceEnabled) {
            // Just throw it as usual if historyService is not enabled.
            throw e;
        }
        // except the following
        if (e.getClass() != ApplicationNotFoundException.class && e.getClass() != ContainerNotFoundException.class) {
            throw e;
        }
        return historyClient.getContainerReport(containerId);
    }
}
Also used : GetContainerReportResponse(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse) YarnException(org.apache.hadoop.yarn.exceptions.YarnException) GetContainerReportRequest(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest)

Example 4 with GetContainerReportResponse

use of org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse in project hadoop by apache.

the class AHSClientImpl method getContainerReport.

@Override
public ContainerReport getContainerReport(ContainerId containerId) throws YarnException, IOException {
    GetContainerReportRequest request = GetContainerReportRequest.newInstance(containerId);
    GetContainerReportResponse response = ahsClient.getContainerReport(request);
    return response.getContainerReport();
}
Also used : GetContainerReportResponse(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse) GetContainerReportRequest(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest)

Example 5 with GetContainerReportResponse

use of org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse in project hadoop by apache.

the class TestApplicationHistoryClientService method testContainerNotFound.

@Test
public void testContainerNotFound() throws IOException, YarnException {
    ApplicationId appId = ApplicationId.newInstance(0, 1);
    ApplicationAttemptId appAttemptId = ApplicationAttemptId.newInstance(appId, 1);
    ContainerId containerId = ContainerId.newContainerId(appAttemptId, MAX_APPS + 1);
    GetContainerReportRequest request = GetContainerReportRequest.newInstance(containerId);
    try {
        @SuppressWarnings("unused") GetContainerReportResponse response = clientService.getContainerReport(request);
    } catch (ContainerNotFoundException e) {
        //This exception is expected
        Assert.assertTrue(e.getMessage().contains("doesn't exist in the timeline store"));
    } catch (Exception e) {
        Assert.fail("Undesired exception caught");
    }
}
Also used : ContainerId(org.apache.hadoop.yarn.api.records.ContainerId) GetContainerReportResponse(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse) ApplicationAttemptId(org.apache.hadoop.yarn.api.records.ApplicationAttemptId) ApplicationId(org.apache.hadoop.yarn.api.records.ApplicationId) ContainerNotFoundException(org.apache.hadoop.yarn.exceptions.ContainerNotFoundException) ContainerNotFoundException(org.apache.hadoop.yarn.exceptions.ContainerNotFoundException) YarnException(org.apache.hadoop.yarn.exceptions.YarnException) IOException(java.io.IOException) ApplicationAttemptNotFoundException(org.apache.hadoop.yarn.exceptions.ApplicationAttemptNotFoundException) ApplicationNotFoundException(org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException) GetContainerReportRequest(org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest) Test(org.junit.Test)

Aggregations

GetContainerReportResponse (org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse)6 GetContainerReportRequest (org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest)5 ApplicationAttemptId (org.apache.hadoop.yarn.api.records.ApplicationAttemptId)4 ContainerId (org.apache.hadoop.yarn.api.records.ContainerId)4 ApplicationId (org.apache.hadoop.yarn.api.records.ApplicationId)3 ApplicationNotFoundException (org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException)3 YarnException (org.apache.hadoop.yarn.exceptions.YarnException)3 Test (org.junit.Test)3 IOException (java.io.IOException)2 ApplicationAttemptNotFoundException (org.apache.hadoop.yarn.exceptions.ApplicationAttemptNotFoundException)2 ContainerNotFoundException (org.apache.hadoop.yarn.exceptions.ContainerNotFoundException)2 UserGroupInformation (org.apache.hadoop.security.UserGroupInformation)1 ContainerReport (org.apache.hadoop.yarn.api.records.ContainerReport)1 RecordFactory (org.apache.hadoop.yarn.factories.RecordFactory)1 RMApp (org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMApp)1 RMAppAttempt (org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttempt)1 RMContainer (org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainer)1