类org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetJobReportResponse源码实例Demo

下面列出了怎么用org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetJobReportResponse的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: hadoop   文件: MRClientService.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request) 
  throws IOException {
  JobId jobId = request.getJobId();
  // false is for retain compatibility
  Job job = verifyAndGetJob(jobId, JobACL.VIEW_JOB, false);
  GetJobReportResponse response = 
    recordFactory.newRecordInstance(GetJobReportResponse.class);
  if (job != null) {
    response.setJobReport(job.getReport());
  }
  else {
    response.setJobReport(null);
  }
  return response;
}
 
源代码2 项目: hadoop   文件: NotRunningJob.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {
  JobReport jobReport =
    recordFactory.newRecordInstance(JobReport.class);
  jobReport.setJobId(request.getJobId());
  jobReport.setJobState(jobState);
  jobReport.setUser(applicationReport.getUser());
  jobReport.setStartTime(applicationReport.getStartTime());
  jobReport.setDiagnostics(applicationReport.getDiagnostics());
  jobReport.setJobName(applicationReport.getName());
  jobReport.setTrackingUrl(applicationReport.getTrackingUrl());
  jobReport.setFinishTime(applicationReport.getFinishTime());

  GetJobReportResponse resp =
      recordFactory.newRecordInstance(GetJobReportResponse.class);
  resp.setJobReport(jobReport);
  return resp;
}
 
源代码3 项目: hadoop   文件: ClientServiceDelegate.java
public JobStatus getJobStatus(JobID oldJobID) throws IOException {
  org.apache.hadoop.mapreduce.v2.api.records.JobId jobId =
    TypeConverter.toYarn(oldJobID);
  GetJobReportRequest request =
      recordFactory.newRecordInstance(GetJobReportRequest.class);
  request.setJobId(jobId);
  JobReport report = ((GetJobReportResponse) invoke("getJobReport",
      GetJobReportRequest.class, request)).getJobReport();
  JobStatus jobStatus = null;
  if (report != null) {
    if (StringUtils.isEmpty(report.getJobFile())) {
      String jobFile = MRApps.getJobFile(conf, report.getUser(), oldJobID);
      report.setJobFile(jobFile);
    }
    String historyTrackingUrl = report.getTrackingUrl();
    String url = StringUtils.isNotEmpty(historyTrackingUrl)
        ? historyTrackingUrl : trackingUrl;
    jobStatus = TypeConverter.fromYarn(report, url);
  }
  return jobStatus;
}
 
源代码4 项目: hadoop   文件: TestClientRedirect.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {

  amContact = true;

  JobReport jobReport = recordFactory.newRecordInstance(JobReport.class);
  jobReport.setJobId(request.getJobId());
  jobReport.setJobState(JobState.RUNNING);
  jobReport.setJobName("TestClientRedirect-jobname");
  jobReport.setUser("TestClientRedirect-user");
  jobReport.setStartTime(0L);
  jobReport.setFinishTime(1L);

  GetJobReportResponse response = recordFactory
      .newRecordInstance(GetJobReportResponse.class);
  response.setJobReport(jobReport);
  return response;
}
 
源代码5 项目: big-c   文件: MRClientService.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request) 
  throws IOException {
  JobId jobId = request.getJobId();
  // false is for retain compatibility
  Job job = verifyAndGetJob(jobId, JobACL.VIEW_JOB, false);
  GetJobReportResponse response = 
    recordFactory.newRecordInstance(GetJobReportResponse.class);
  if (job != null) {
    response.setJobReport(job.getReport());
  }
  else {
    response.setJobReport(null);
  }
  return response;
}
 
源代码6 项目: big-c   文件: NotRunningJob.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {
  JobReport jobReport =
    recordFactory.newRecordInstance(JobReport.class);
  jobReport.setJobId(request.getJobId());
  jobReport.setJobState(jobState);
  jobReport.setUser(applicationReport.getUser());
  jobReport.setStartTime(applicationReport.getStartTime());
  jobReport.setDiagnostics(applicationReport.getDiagnostics());
  jobReport.setJobName(applicationReport.getName());
  jobReport.setTrackingUrl(applicationReport.getTrackingUrl());
  jobReport.setFinishTime(applicationReport.getFinishTime());

  GetJobReportResponse resp =
      recordFactory.newRecordInstance(GetJobReportResponse.class);
  resp.setJobReport(jobReport);
  return resp;
}
 
源代码7 项目: big-c   文件: ClientServiceDelegate.java
public JobStatus getJobStatus(JobID oldJobID) throws IOException {
  org.apache.hadoop.mapreduce.v2.api.records.JobId jobId =
    TypeConverter.toYarn(oldJobID);
  GetJobReportRequest request =
      recordFactory.newRecordInstance(GetJobReportRequest.class);
  request.setJobId(jobId);
  JobReport report = ((GetJobReportResponse) invoke("getJobReport",
      GetJobReportRequest.class, request)).getJobReport();
  JobStatus jobStatus = null;
  if (report != null) {
    if (StringUtils.isEmpty(report.getJobFile())) {
      String jobFile = MRApps.getJobFile(conf, report.getUser(), oldJobID);
      report.setJobFile(jobFile);
    }
    String historyTrackingUrl = report.getTrackingUrl();
    String url = StringUtils.isNotEmpty(historyTrackingUrl)
        ? historyTrackingUrl : trackingUrl;
    jobStatus = TypeConverter.fromYarn(report, url);
  }
  return jobStatus;
}
 
源代码8 项目: big-c   文件: TestClientRedirect.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {

  amContact = true;

  JobReport jobReport = recordFactory.newRecordInstance(JobReport.class);
  jobReport.setJobId(request.getJobId());
  jobReport.setJobState(JobState.RUNNING);
  jobReport.setJobName("TestClientRedirect-jobname");
  jobReport.setUser("TestClientRedirect-user");
  jobReport.setStartTime(0L);
  jobReport.setFinishTime(1L);

  GetJobReportResponse response = recordFactory
      .newRecordInstance(GetJobReportResponse.class);
  response.setJobReport(jobReport);
  return response;
}
 
源代码9 项目: incubator-tez   文件: NotRunningJob.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {
  JobReport jobReport =
    recordFactory.newRecordInstance(JobReport.class);
  jobReport.setJobId(request.getJobId());
  jobReport.setJobState(jobState);
  jobReport.setUser(applicationReport.getUser());
  jobReport.setStartTime(applicationReport.getStartTime());
  jobReport.setDiagnostics(applicationReport.getDiagnostics());
  jobReport.setJobName(applicationReport.getName());
  jobReport.setTrackingUrl(applicationReport.getTrackingUrl());
  jobReport.setFinishTime(applicationReport.getFinishTime());

  GetJobReportResponse resp =
      recordFactory.newRecordInstance(GetJobReportResponse.class);
  resp.setJobReport(jobReport);
  return resp;
}
 
源代码10 项目: tez   文件: NotRunningJob.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {
  JobReport jobReport =
    recordFactory.newRecordInstance(JobReport.class);
  jobReport.setJobId(request.getJobId());
  jobReport.setJobState(jobState);
  jobReport.setUser(applicationReport.getUser());
  jobReport.setStartTime(applicationReport.getStartTime());
  jobReport.setDiagnostics(applicationReport.getDiagnostics());
  jobReport.setJobName(applicationReport.getName());
  jobReport.setTrackingUrl(applicationReport.getTrackingUrl());
  jobReport.setFinishTime(applicationReport.getFinishTime());

  GetJobReportResponse resp =
      recordFactory.newRecordInstance(GetJobReportResponse.class);
  resp.setJobReport(jobReport);
  return resp;
}
 
源代码11 项目: hadoop   文件: TestClientServiceDelegate.java
private GetJobReportResponse getJobReportResponse() {
  GetJobReportResponse jobReportResponse = Records
      .newRecord(GetJobReportResponse.class);
  JobReport jobReport = Records.newRecord(JobReport.class);
  jobReport.setJobId(jobId);
  jobReport.setJobState(JobState.SUCCEEDED);
  jobReportResponse.setJobReport(jobReport);
  return jobReportResponse;
}
 
源代码12 项目: hadoop   文件: TestClientServiceDelegate.java
private GetJobReportResponse getJobReportResponseFromHistoryServer() {
  GetJobReportResponse jobReportResponse = Records                                              
      .newRecord(GetJobReportResponse.class);                                                   
  JobReport jobReport = Records.newRecord(JobReport.class);                                     
  jobReport.setJobId(jobId);                                                                    
  jobReport.setJobState(JobState.SUCCEEDED);                                                    
  jobReport.setMapProgress(1.0f);
  jobReport.setReduceProgress(1.0f);
  jobReport.setJobFile("TestJobFilePath");
  jobReport.setTrackingUrl("http://TestTrackingUrl");
  jobReportResponse.setJobReport(jobReport);
  return jobReportResponse;
}
 
源代码13 项目: hadoop   文件: MRClientProtocolPBServiceImpl.java
@Override
public GetJobReportResponseProto getJobReport(RpcController controller,
    GetJobReportRequestProto proto) throws ServiceException {
  GetJobReportRequestPBImpl request = new GetJobReportRequestPBImpl(proto);
  try {
    GetJobReportResponse response = real.getJobReport(request);
    return ((GetJobReportResponsePBImpl)response).getProto();
  } catch (IOException e) {
    throw new ServiceException(e);
  }
}
 
源代码14 项目: hadoop   文件: MRClientProtocolPBClientImpl.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {
  GetJobReportRequestProto requestProto = ((GetJobReportRequestPBImpl)request).getProto();
  try {
    return new GetJobReportResponsePBImpl(proxy.getJobReport(null, requestProto));
  } catch (ServiceException e) {
    throw unwrapAndThrowException(e);
  }
}
 
源代码15 项目: hadoop   文件: HistoryClientService.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {
  JobId jobId = request.getJobId();
  Job job = verifyAndGetJob(jobId, false);
  GetJobReportResponse response = recordFactory.newRecordInstance(GetJobReportResponse.class);
  if (job != null) {
    response.setJobReport(job.getReport());
  }
  else {
    response.setJobReport(null);
  }
  return response;
}
 
源代码16 项目: big-c   文件: TestClientServiceDelegate.java
private GetJobReportResponse getJobReportResponse() {
  GetJobReportResponse jobReportResponse = Records
      .newRecord(GetJobReportResponse.class);
  JobReport jobReport = Records.newRecord(JobReport.class);
  jobReport.setJobId(jobId);
  jobReport.setJobState(JobState.SUCCEEDED);
  jobReportResponse.setJobReport(jobReport);
  return jobReportResponse;
}
 
源代码17 项目: big-c   文件: TestClientServiceDelegate.java
private GetJobReportResponse getJobReportResponseFromHistoryServer() {
  GetJobReportResponse jobReportResponse = Records                                              
      .newRecord(GetJobReportResponse.class);                                                   
  JobReport jobReport = Records.newRecord(JobReport.class);                                     
  jobReport.setJobId(jobId);                                                                    
  jobReport.setJobState(JobState.SUCCEEDED);                                                    
  jobReport.setMapProgress(1.0f);
  jobReport.setReduceProgress(1.0f);
  jobReport.setJobFile("TestJobFilePath");
  jobReport.setTrackingUrl("http://TestTrackingUrl");
  jobReportResponse.setJobReport(jobReport);
  return jobReportResponse;
}
 
源代码18 项目: big-c   文件: MRClientProtocolPBServiceImpl.java
@Override
public GetJobReportResponseProto getJobReport(RpcController controller,
    GetJobReportRequestProto proto) throws ServiceException {
  GetJobReportRequestPBImpl request = new GetJobReportRequestPBImpl(proto);
  try {
    GetJobReportResponse response = real.getJobReport(request);
    return ((GetJobReportResponsePBImpl)response).getProto();
  } catch (IOException e) {
    throw new ServiceException(e);
  }
}
 
源代码19 项目: big-c   文件: MRClientProtocolPBClientImpl.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {
  GetJobReportRequestProto requestProto = ((GetJobReportRequestPBImpl)request).getProto();
  try {
    return new GetJobReportResponsePBImpl(proxy.getJobReport(null, requestProto));
  } catch (ServiceException e) {
    throw unwrapAndThrowException(e);
  }
}
 
源代码20 项目: big-c   文件: HistoryClientService.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {
  JobId jobId = request.getJobId();
  Job job = verifyAndGetJob(jobId, false);
  GetJobReportResponse response = recordFactory.newRecordInstance(GetJobReportResponse.class);
  if (job != null) {
    response.setJobReport(job.getReport());
  }
  else {
    response.setJobReport(null);
  }
  return response;
}
 
源代码21 项目: jumbune   文件: MRCommunicator.java
/**
 * Given the required details (application id and suffix id) for JobId it gives the JobReport
 * @param appid, the Application Id instance
 * @param id, the suffix id
 * @return the Job Report
 * @throws IOException
 */
public JobReport getJobReport(ApplicationId appId, int id) throws IOException{
	JobId jobId = YarnCommunicatorUtil.getJobId(appId, (int)1);
	GetJobReportRequestProto proto = GetJobReportRequestProto.getDefaultInstance();
	GetJobReportRequest request = new GetJobReportRequestPBImpl(proto);
	request.setJobId(jobId);
	GetJobReportResponse jobReportResponse = proxy.getJobReport(request);
	return jobReportResponse.getJobReport();
}
 
源代码22 项目: jumbune   文件: MRCommunicator.java
public JobReport getJobReport(JobId jobId) throws IOException {
	GetJobReportRequestProto proto = GetJobReportRequestProto.getDefaultInstance();
	GetJobReportRequest request = new GetJobReportRequestPBImpl(proto);
	request.setJobId(jobId);
	GetJobReportResponse jobReportResponse = proxy.getJobReport(request);
	return jobReportResponse.getJobReport();
}
 
源代码23 项目: hadoop   文件: ClientServiceDelegate.java
public LogParams getLogFilePath(JobID oldJobID, TaskAttemptID oldTaskAttemptID)
    throws IOException {
  org.apache.hadoop.mapreduce.v2.api.records.JobId jobId =
      TypeConverter.toYarn(oldJobID);
  GetJobReportRequest request =
      recordFactory.newRecordInstance(GetJobReportRequest.class);
  request.setJobId(jobId);

  JobReport report =
      ((GetJobReportResponse) invoke("getJobReport",
          GetJobReportRequest.class, request)).getJobReport();
  if (EnumSet.of(JobState.SUCCEEDED, JobState.FAILED, JobState.KILLED,
      JobState.ERROR).contains(report.getJobState())) {
    if (oldTaskAttemptID != null) {
      GetTaskAttemptReportRequest taRequest =
          recordFactory.newRecordInstance(GetTaskAttemptReportRequest.class);
      taRequest.setTaskAttemptId(TypeConverter.toYarn(oldTaskAttemptID));
      TaskAttemptReport taReport =
          ((GetTaskAttemptReportResponse) invoke("getTaskAttemptReport",
              GetTaskAttemptReportRequest.class, taRequest))
              .getTaskAttemptReport();
      if (taReport.getContainerId() == null
          || taReport.getNodeManagerHost() == null) {
        throw new IOException("Unable to get log information for task: "
            + oldTaskAttemptID);
      }
      return new LogParams(
          taReport.getContainerId().toString(),
          taReport.getContainerId().getApplicationAttemptId()
              .getApplicationId().toString(),
          NodeId.newInstance(taReport.getNodeManagerHost(),
              taReport.getNodeManagerPort()).toString(), report.getUser());
    } else {
      if (report.getAMInfos() == null || report.getAMInfos().size() == 0) {
        throw new IOException("Unable to get log information for job: "
            + oldJobID);
      }
      AMInfo amInfo = report.getAMInfos().get(report.getAMInfos().size() - 1);
      return new LogParams(
          amInfo.getContainerId().toString(),
          amInfo.getAppAttemptId().getApplicationId().toString(),
          NodeId.newInstance(amInfo.getNodeManagerHost(),
              amInfo.getNodeManagerPort()).toString(), report.getUser());
    }
  } else {
    throw new IOException("Cannot get log path for a in-progress job");
  }
}
 
源代码24 项目: hadoop   文件: TestClientServiceDelegate.java
@Test
public void testReconnectOnAMRestart() throws IOException {
  //test not applicable when AM not reachable
  //as instantiateAMProxy is not called at all
  if(!isAMReachableFromClient) {
    return;
  }

  MRClientProtocol historyServerProxy = mock(MRClientProtocol.class);

  // RM returns AM1 url, null, null and AM2 url on invocations.
  // Nulls simulate the time when AM2 is in the process of restarting.
  ResourceMgrDelegate rmDelegate = mock(ResourceMgrDelegate.class);
  try {
    when(rmDelegate.getApplicationReport(jobId.getAppId())).thenReturn(
        getRunningApplicationReport("am1", 78)).thenReturn(
        getRunningApplicationReport(null, 0)).thenReturn(
        getRunningApplicationReport(null, 0)).thenReturn(
        getRunningApplicationReport("am2", 90));
  } catch (YarnException e) {
    throw new IOException(e);
  }

  GetJobReportResponse jobReportResponse1 = mock(GetJobReportResponse.class);
  when(jobReportResponse1.getJobReport()).thenReturn(
      MRBuilderUtils.newJobReport(jobId, "jobName-firstGen", "user",
          JobState.RUNNING, 0, 0, 0, 0, 0, 0, 0, "anything", null,
          false, ""));

  // First AM returns a report with jobName firstGen and simulates AM shutdown
  // on second invocation.
  MRClientProtocol firstGenAMProxy = mock(MRClientProtocol.class);
  when(firstGenAMProxy.getJobReport(any(GetJobReportRequest.class)))
      .thenReturn(jobReportResponse1).thenThrow(
          new RuntimeException("AM is down!"));

  GetJobReportResponse jobReportResponse2 = mock(GetJobReportResponse.class);
  when(jobReportResponse2.getJobReport()).thenReturn(
      MRBuilderUtils.newJobReport(jobId, "jobName-secondGen", "user",
          JobState.RUNNING, 0, 0, 0, 0, 0, 0, 0, "anything", null,
          false, ""));

  // Second AM generation returns a report with jobName secondGen
  MRClientProtocol secondGenAMProxy = mock(MRClientProtocol.class);
  when(secondGenAMProxy.getJobReport(any(GetJobReportRequest.class)))
      .thenReturn(jobReportResponse2);
  
  ClientServiceDelegate clientServiceDelegate = spy(getClientServiceDelegate(
      historyServerProxy, rmDelegate));
  // First time, connection should be to AM1, then to AM2. Further requests
  // should use the same proxy to AM2 and so instantiateProxy shouldn't be
  // called.
  doReturn(firstGenAMProxy).doReturn(secondGenAMProxy).when(
      clientServiceDelegate).instantiateAMProxy(any(InetSocketAddress.class));

  JobStatus jobStatus = clientServiceDelegate.getJobStatus(oldJobId);
  Assert.assertNotNull(jobStatus);
  Assert.assertEquals("jobName-firstGen", jobStatus.getJobName());

  jobStatus = clientServiceDelegate.getJobStatus(oldJobId);
  Assert.assertNotNull(jobStatus);
  Assert.assertEquals("jobName-secondGen", jobStatus.getJobName());

  jobStatus = clientServiceDelegate.getJobStatus(oldJobId);
  Assert.assertNotNull(jobStatus);
  Assert.assertEquals("jobName-secondGen", jobStatus.getJobName());

  verify(clientServiceDelegate, times(2)).instantiateAMProxy(
      any(InetSocketAddress.class));
}
 
源代码25 项目: hadoop   文件: TestRPCFactories.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {
  return null;
}
 
源代码26 项目: big-c   文件: ClientServiceDelegate.java
public LogParams getLogFilePath(JobID oldJobID, TaskAttemptID oldTaskAttemptID)
    throws IOException {
  org.apache.hadoop.mapreduce.v2.api.records.JobId jobId =
      TypeConverter.toYarn(oldJobID);
  GetJobReportRequest request =
      recordFactory.newRecordInstance(GetJobReportRequest.class);
  request.setJobId(jobId);

  JobReport report =
      ((GetJobReportResponse) invoke("getJobReport",
          GetJobReportRequest.class, request)).getJobReport();
  if (EnumSet.of(JobState.SUCCEEDED, JobState.FAILED, JobState.KILLED,
      JobState.ERROR).contains(report.getJobState())) {
    if (oldTaskAttemptID != null) {
      GetTaskAttemptReportRequest taRequest =
          recordFactory.newRecordInstance(GetTaskAttemptReportRequest.class);
      taRequest.setTaskAttemptId(TypeConverter.toYarn(oldTaskAttemptID));
      TaskAttemptReport taReport =
          ((GetTaskAttemptReportResponse) invoke("getTaskAttemptReport",
              GetTaskAttemptReportRequest.class, taRequest))
              .getTaskAttemptReport();
      if (taReport.getContainerId() == null
          || taReport.getNodeManagerHost() == null) {
        throw new IOException("Unable to get log information for task: "
            + oldTaskAttemptID);
      }
      return new LogParams(
          taReport.getContainerId().toString(),
          taReport.getContainerId().getApplicationAttemptId()
              .getApplicationId().toString(),
          NodeId.newInstance(taReport.getNodeManagerHost(),
              taReport.getNodeManagerPort()).toString(), report.getUser());
    } else {
      if (report.getAMInfos() == null || report.getAMInfos().size() == 0) {
        throw new IOException("Unable to get log information for job: "
            + oldJobID);
      }
      AMInfo amInfo = report.getAMInfos().get(report.getAMInfos().size() - 1);
      return new LogParams(
          amInfo.getContainerId().toString(),
          amInfo.getAppAttemptId().getApplicationId().toString(),
          NodeId.newInstance(amInfo.getNodeManagerHost(),
              amInfo.getNodeManagerPort()).toString(), report.getUser());
    }
  } else {
    throw new IOException("Cannot get log path for a in-progress job");
  }
}
 
源代码27 项目: big-c   文件: TestClientServiceDelegate.java
@Test
public void testReconnectOnAMRestart() throws IOException {
  //test not applicable when AM not reachable
  //as instantiateAMProxy is not called at all
  if(!isAMReachableFromClient) {
    return;
  }

  MRClientProtocol historyServerProxy = mock(MRClientProtocol.class);

  // RM returns AM1 url, null, null and AM2 url on invocations.
  // Nulls simulate the time when AM2 is in the process of restarting.
  ResourceMgrDelegate rmDelegate = mock(ResourceMgrDelegate.class);
  try {
    when(rmDelegate.getApplicationReport(jobId.getAppId())).thenReturn(
        getRunningApplicationReport("am1", 78)).thenReturn(
        getRunningApplicationReport(null, 0)).thenReturn(
        getRunningApplicationReport(null, 0)).thenReturn(
        getRunningApplicationReport("am2", 90));
  } catch (YarnException e) {
    throw new IOException(e);
  }

  GetJobReportResponse jobReportResponse1 = mock(GetJobReportResponse.class);
  when(jobReportResponse1.getJobReport()).thenReturn(
      MRBuilderUtils.newJobReport(jobId, "jobName-firstGen", "user",
          JobState.RUNNING, 0, 0, 0, 0, 0, 0, 0, "anything", null,
          false, ""));

  // First AM returns a report with jobName firstGen and simulates AM shutdown
  // on second invocation.
  MRClientProtocol firstGenAMProxy = mock(MRClientProtocol.class);
  when(firstGenAMProxy.getJobReport(any(GetJobReportRequest.class)))
      .thenReturn(jobReportResponse1).thenThrow(
          new RuntimeException("AM is down!"));

  GetJobReportResponse jobReportResponse2 = mock(GetJobReportResponse.class);
  when(jobReportResponse2.getJobReport()).thenReturn(
      MRBuilderUtils.newJobReport(jobId, "jobName-secondGen", "user",
          JobState.RUNNING, 0, 0, 0, 0, 0, 0, 0, "anything", null,
          false, ""));

  // Second AM generation returns a report with jobName secondGen
  MRClientProtocol secondGenAMProxy = mock(MRClientProtocol.class);
  when(secondGenAMProxy.getJobReport(any(GetJobReportRequest.class)))
      .thenReturn(jobReportResponse2);
  
  ClientServiceDelegate clientServiceDelegate = spy(getClientServiceDelegate(
      historyServerProxy, rmDelegate));
  // First time, connection should be to AM1, then to AM2. Further requests
  // should use the same proxy to AM2 and so instantiateProxy shouldn't be
  // called.
  doReturn(firstGenAMProxy).doReturn(secondGenAMProxy).when(
      clientServiceDelegate).instantiateAMProxy(any(InetSocketAddress.class));

  JobStatus jobStatus = clientServiceDelegate.getJobStatus(oldJobId);
  Assert.assertNotNull(jobStatus);
  Assert.assertEquals("jobName-firstGen", jobStatus.getJobName());

  jobStatus = clientServiceDelegate.getJobStatus(oldJobId);
  Assert.assertNotNull(jobStatus);
  Assert.assertEquals("jobName-secondGen", jobStatus.getJobName());

  jobStatus = clientServiceDelegate.getJobStatus(oldJobId);
  Assert.assertNotNull(jobStatus);
  Assert.assertEquals("jobName-secondGen", jobStatus.getJobName());

  verify(clientServiceDelegate, times(2)).instantiateAMProxy(
      any(InetSocketAddress.class));
}
 
源代码28 项目: big-c   文件: TestRPCFactories.java
@Override
public GetJobReportResponse getJobReport(GetJobReportRequest request)
    throws IOException {
  return null;
}
 
源代码29 项目: hadoop   文件: MRClientProtocol.java
public GetJobReportResponse getJobReport(GetJobReportRequest request) throws IOException; 
源代码30 项目: big-c   文件: MRClientProtocol.java
public GetJobReportResponse getJobReport(GetJobReportRequest request) throws IOException; 
 同包方法