Java 类org.apache.hadoop.yarn.api.protocolrecords.ReservationSubmissionResponse 实例源码

项目:hadoop    文件:ApplicationClientProtocolPBClientImpl.java   
@Override
public ReservationSubmissionResponse submitReservation(ReservationSubmissionRequest request)
    throws YarnException, IOException {
  ReservationSubmissionRequestProto requestProto =
      ((ReservationSubmissionRequestPBImpl) request).getProto();
  try {
    return new ReservationSubmissionResponsePBImpl(proxy.submitReservation(null,
        requestProto));
  } catch (ServiceException e) {
    RPCUtil.unwrapAndThrowException(e);
    return null;
  }
}
项目:aliyun-oss-hadoop-fs    文件:ApplicationClientProtocolPBClientImpl.java   
@Override
public ReservationSubmissionResponse submitReservation(ReservationSubmissionRequest request)
    throws YarnException, IOException {
  ReservationSubmissionRequestProto requestProto =
      ((ReservationSubmissionRequestPBImpl) request).getProto();
  try {
    return new ReservationSubmissionResponsePBImpl(proxy.submitReservation(null,
        requestProto));
  } catch (ServiceException e) {
    RPCUtil.unwrapAndThrowException(e);
    return null;
  }
}
项目:aliyun-oss-hadoop-fs    文件:TestReservationSystemWithRMHA.java   
@Test
public void testSubmitReservationAndCheckAfterFailover() throws Exception {
  startRMs();

  addNodeCapacityToPlan(rm1, 102400, 100);

  ClientRMService clientService = rm1.getClientRMService();

  // create a reservation
  ReservationSubmissionRequest request = createReservationSubmissionRequest();
  ReservationSubmissionResponse response = null;
  try {
    response = clientService.submitReservation(request);
  } catch (Exception e) {
    Assert.fail(e.getMessage());
  }
  Assert.assertNotNull(response);
  ReservationId reservationID = response.getReservationId();
  Assert.assertNotNull(reservationID);
  LOG.info("Submit reservation response: " + reservationID);

  // Do the failover
  explicitFailover();

  rm2.registerNode("127.0.0.1:1", 102400, 100);

  RMState state = rm2.getRMContext().getStateStore().loadState();
  Map<ReservationId, ReservationAllocationStateProto> reservationStateMap =
      state.getReservationState().get(ReservationSystemTestUtil.reservationQ);
  Assert.assertNotNull(reservationStateMap);
  Assert.assertNotNull(reservationStateMap.get(reservationID));
}
项目:aliyun-oss-hadoop-fs    文件:TestReservationSystemWithRMHA.java   
@Test
public void testDeleteReservationAndCheckAfterFailover() throws Exception {
  startRMs();

  addNodeCapacityToPlan(rm1, 102400, 100);

  ClientRMService clientService = rm1.getClientRMService();

  // create a reservation
  ReservationSubmissionRequest request = createReservationSubmissionRequest();
  ReservationSubmissionResponse response = null;
  try {
    response = clientService.submitReservation(request);
  } catch (Exception e) {
    Assert.fail(e.getMessage());
  }
  Assert.assertNotNull(response);
  ReservationId reservationID = response.getReservationId();
  Assert.assertNotNull(reservationID);

  // Delete the reservation
  ReservationDeleteRequest deleteRequest =
      ReservationDeleteRequest.newInstance(reservationID);
  clientService.deleteReservation(deleteRequest);

  // Do the failover
  explicitFailover();

  rm2.registerNode("127.0.0.1:1", 102400, 100);

  RMState state = rm2.getRMContext().getStateStore().loadState();
  Assert.assertNull(state.getReservationState()
      .get(ReservationSystemTestUtil.reservationQ));
}
项目:aliyun-oss-hadoop-fs    文件:TestReservationSystemWithRMHA.java   
@Test
public void testFailoverAndSubmitReservation() throws Exception {
  startRMs();

  addNodeCapacityToPlan(rm1, 102400, 100);

  // Do the failover
  explicitFailover();

  addNodeCapacityToPlan(rm2, 102400, 100);

  // create a reservation
  ClientRMService clientService = rm2.getClientRMService();
  ReservationSubmissionRequest request = createReservationSubmissionRequest();
  ReservationSubmissionResponse response = null;
  try {
    response = clientService.submitReservation(request);
  } catch (Exception e) {
    Assert.fail(e.getMessage());
  }
  Assert.assertNotNull(response);
  ReservationId reservationID = response.getReservationId();
  Assert.assertNotNull(reservationID);
  LOG.info("Submit reservation response: " + reservationID);
  ReservationDefinition reservationDefinition =
      request.getReservationDefinition();

  // check if reservation is submitted successfully
  Plan plan = rm2.getRMContext().getReservationSystem()
      .getPlan(ReservationSystemTestUtil.reservationQ);
  validateReservation(plan, reservationID, reservationDefinition);
}
项目:big-c    文件:ApplicationClientProtocolPBClientImpl.java   
@Override
public ReservationSubmissionResponse submitReservation(ReservationSubmissionRequest request)
    throws YarnException, IOException {
  ReservationSubmissionRequestProto requestProto =
      ((ReservationSubmissionRequestPBImpl) request).getProto();
  try {
    return new ReservationSubmissionResponsePBImpl(proxy.submitReservation(null,
        requestProto));
  } catch (ServiceException e) {
    RPCUtil.unwrapAndThrowException(e);
    return null;
  }
}
项目:hadoop-2.6.0-cdh5.4.3    文件:ApplicationClientProtocolPBClientImpl.java   
@Override
public ReservationSubmissionResponse submitReservation(ReservationSubmissionRequest request)
    throws YarnException, IOException {
  ReservationSubmissionRequestProto requestProto =
      ((ReservationSubmissionRequestPBImpl) request).getProto();
  try {
    return new ReservationSubmissionResponsePBImpl(proxy.submitReservation(null,
        requestProto));
  } catch (ServiceException e) {
    RPCUtil.unwrapAndThrowException(e);
    return null;
  }
}
项目:hops    文件:ApplicationClientProtocolPBClientImpl.java   
@Override
public ReservationSubmissionResponse submitReservation(ReservationSubmissionRequest request)
    throws YarnException, IOException {
  ReservationSubmissionRequestProto requestProto =
      ((ReservationSubmissionRequestPBImpl) request).getProto();
  try {
    return new ReservationSubmissionResponsePBImpl(proxy.submitReservation(null,
        requestProto));
  } catch (ServiceException e) {
    RPCUtil.unwrapAndThrowException(e);
    return null;
  }
}
项目:hops    文件:TestReservationSystemWithRMHA.java   
@Test
public void testSubmitReservationAndCheckAfterFailover() throws Exception {
  startRMs();

  addNodeCapacityToPlan(rm1, 102400, 100);

  ClientRMService clientService = rm1.getClientRMService();

  ReservationId reservationID = getNewReservation(clientService)
      .getReservationId();
  // create a reservation
  ReservationSubmissionRequest request = createReservationSubmissionRequest(
      reservationID);
  ReservationSubmissionResponse response = null;
  try {
    response = clientService.submitReservation(request);
  } catch (Exception e) {
    Assert.fail(e.getMessage());
  }
  Assert.assertNotNull(response);
  Assert.assertNotNull(reservationID);
  LOG.info("Submit reservation response: " + reservationID);

  // Do the failover
  explicitFailover();

  rm2.registerNode("127.0.0.1:1", 102400, 100);

  RMState state = rm2.getRMContext().getStateStore().loadState();
  Map<ReservationId, ReservationAllocationStateProto> reservationStateMap =
      state.getReservationState().get(ReservationSystemTestUtil.reservationQ);
  Assert.assertNotNull(reservationStateMap);
  Assert.assertNotNull(reservationStateMap.get(reservationID));
}
项目:hops    文件:TestReservationSystemWithRMHA.java   
@Test
public void testDeleteReservationAndCheckAfterFailover() throws Exception {
  startRMs();

  addNodeCapacityToPlan(rm1, 102400, 100);

  ClientRMService clientService = rm1.getClientRMService();

  ReservationId reservationID = getNewReservation(clientService)
      .getReservationId();

  // create a reservation
  ReservationSubmissionRequest request = createReservationSubmissionRequest(
      reservationID);
  ReservationSubmissionResponse response = null;
  try {
    response = clientService.submitReservation(request);
  } catch (Exception e) {
    Assert.fail(e.getMessage());
  }
  Assert.assertNotNull(response);
  Assert.assertNotNull(reservationID);

  // Delete the reservation
  ReservationDeleteRequest deleteRequest =
      ReservationDeleteRequest.newInstance(reservationID);
  clientService.deleteReservation(deleteRequest);

  // Do the failover
  explicitFailover();

  rm2.registerNode("127.0.0.1:1", 102400, 100);

  RMState state = rm2.getRMContext().getStateStore().loadState();
  Assert.assertNull(state.getReservationState()
      .get(ReservationSystemTestUtil.reservationQ));
}
项目:hops    文件:TestReservationSystemWithRMHA.java   
@Test
public void testFailoverAndSubmitReservation() throws Exception {
  startRMs();

  addNodeCapacityToPlan(rm1, 102400, 100);

  // Do the failover
  explicitFailover();

  addNodeCapacityToPlan(rm2, 102400, 100);
  ClientRMService clientService = rm2.getClientRMService();

  ReservationId reservationID = getNewReservation(clientService)
      .getReservationId();

  // create a reservation
  ReservationSubmissionRequest request = createReservationSubmissionRequest(
      reservationID);
  ReservationSubmissionResponse response = null;
  try {
    response = clientService.submitReservation(request);
  } catch (Exception e) {
    Assert.fail(e.getMessage());
  }
  Assert.assertNotNull(response);
  Assert.assertNotNull(reservationID);
  LOG.info("Submit reservation response: " + reservationID);
  ReservationDefinition reservationDefinition =
      request.getReservationDefinition();

  // check if reservation is submitted successfully
  Plan plan = rm2.getRMContext().getReservationSystem()
      .getPlan(ReservationSystemTestUtil.reservationQ);
  validateReservation(plan, reservationID, reservationDefinition);
}
项目:hops    文件:ReservationACLsTestBase.java   
private void submitReservation(String submitter,
    String queueName, ReservationId reservationId) throws Exception {

  ApplicationClientProtocol submitterClient = getRMClientForUser(submitter);
  ReservationSubmissionRequest reservationSubmissionRequest =
      ReservationSubmissionRequest.newInstance(
      makeSimpleReservationDefinition(), queueName, reservationId);

  ReservationSubmissionResponse response = submitterClient
          .submitReservation(reservationSubmissionRequest);
}
项目:hops    文件:TestYarnClient.java   
private ReservationSubmissionRequest submitReservationTestHelper(
    YarnClient client, long arrival, long deadline, long duration)
    throws IOException, YarnException {
  ReservationId reservationID = client.createReservation().getReservationId();
  ReservationSubmissionRequest sRequest = createSimpleReservationRequest(
      reservationID, 4, arrival, deadline, duration);
  ReservationSubmissionResponse sResponse =
      client.submitReservation(sRequest);
  Assert.assertNotNull(sResponse);
  Assert.assertNotNull(reservationID);
  System.out.println("Submit reservation response: " + reservationID);

  return sRequest;
}
项目:hadoop    文件:ClientRMService.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  // Check if reservation system is enabled
  checkReservationSytem(AuditConstants.SUBMIT_RESERVATION_REQUEST);
  ReservationSubmissionResponse response =
      recordFactory.newRecordInstance(ReservationSubmissionResponse.class);
  // Create a new Reservation Id
  ReservationId reservationId = reservationSystem.getNewReservationId();
  // Validate the input
  Plan plan =
      rValidator.validateReservationSubmissionRequest(reservationSystem,
          request, reservationId);
  // Check ACLs
  String queueName = request.getQueue();
  String user =
      checkReservationACLs(queueName,
          AuditConstants.SUBMIT_RESERVATION_REQUEST);
  try {
    // Try to place the reservation using the agent
    boolean result =
        plan.getReservationAgent().createReservation(reservationId, user,
            plan, request.getReservationDefinition());
    if (result) {
      // add the reservation id to valid ones maintained by reservation
      // system
      reservationSystem.setQueueForReservation(reservationId, queueName);
      // create the reservation synchronously if required
      refreshScheduler(queueName, request.getReservationDefinition(),
          reservationId.toString());
      // return the reservation id
      response.setReservationId(reservationId);
    }
  } catch (PlanningException e) {
    RMAuditLogger.logFailure(user, AuditConstants.SUBMIT_RESERVATION_REQUEST,
        e.getMessage(), "ClientRMService",
        "Unable to create the reservation: " + reservationId);
    throw RPCUtil.getRemoteException(e);
  }
  RMAuditLogger.logSuccess(user, AuditConstants.SUBMIT_RESERVATION_REQUEST,
      "ClientRMService: " + reservationId);
  return response;
}
项目:hadoop    文件:YarnClientImpl.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return rmClient.submitReservation(request);
}
项目:hadoop    文件:ResourceMgrDelegate.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return client.submitReservation(request);
}
项目:hadoop    文件:TestClientRedirect.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return null;
}
项目:scheduling-connector-for-hadoop    文件:HPCApplicationClientProtocolImpl.java   
@Override
public ReservationSubmissionResponse submitReservation(
        ReservationSubmissionRequest arg0) throws YarnException, IOException {
    // TODO Auto-generated method stub
    return null;
}
项目:aliyun-oss-hadoop-fs    文件:MockResourceManagerFacade.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException,
    IOException {
  throw new NotImplementedException();
}
项目:aliyun-oss-hadoop-fs    文件:RMWebServices.java   
/**
 * Function to submit a Reservation to the RM.
 *
 * @param resContext provides information to construct the
 *          ReservationSubmissionRequest
 * @param hsr the servlet request
 * @return Response containing the status code
 * @throws AuthorizationException
 * @throws IOException
 * @throws InterruptedException
 */
@POST
@Path("/reservation/submit")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Response submitReservation(
    ReservationSubmissionRequestInfo resContext,
    @Context HttpServletRequest hsr) throws AuthorizationException,
    IOException, InterruptedException {

  init();
  UserGroupInformation callerUGI = getCallerUserGroupInformation(hsr, true);
  if (callerUGI == null) {
    throw new AuthorizationException("Unable to obtain user name, "
        + "user not authenticated");
  }
  if (UserGroupInformation.isSecurityEnabled() && isStaticUser(callerUGI)) {
    String msg = "The default static user cannot carry out this operation.";
    return Response.status(Status.FORBIDDEN).entity(msg).build();
  }

  final ReservationSubmissionRequest reservation =
      createReservationSubmissionRequest(resContext);

  ReservationSubmissionResponseInfo resRespInfo;
  try {
    resRespInfo =
        callerUGI.doAs(
         new PrivilegedExceptionAction<ReservationSubmissionResponseInfo>() {
              @Override
              public ReservationSubmissionResponseInfo run()
                  throws IOException, YarnException {
                ReservationSubmissionResponse tempRes =
                    rm.getClientRMService().submitReservation(reservation);
                return new ReservationSubmissionResponseInfo(tempRes);
              }
            });
  } catch (UndeclaredThrowableException ue) {
    if (ue.getCause() instanceof YarnException) {
      throw new BadRequestException(ue.getCause().getMessage());
    }
    LOG.info("Submit reservation request failed", ue);
    throw ue;
  }

  return Response.status(Status.OK).entity(resRespInfo).build();
}
项目:aliyun-oss-hadoop-fs    文件:ReservationSubmissionResponseInfo.java   
public ReservationSubmissionResponseInfo(
    ReservationSubmissionResponse response) {
  this.reservationId = response.getReservationId().toString();
}
项目:aliyun-oss-hadoop-fs    文件:ClientRMService.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  // Check if reservation system is enabled
  checkReservationSytem(AuditConstants.SUBMIT_RESERVATION_REQUEST);
  ReservationSubmissionResponse response =
      recordFactory.newRecordInstance(ReservationSubmissionResponse.class);
  // Create a new Reservation Id
  ReservationId reservationId = reservationSystem.getNewReservationId();
  // Validate the input
  Plan plan =
      rValidator.validateReservationSubmissionRequest(reservationSystem,
          request, reservationId);
  // Check ACLs
  String queueName = request.getQueue();
  String user =
      checkReservationACLs(queueName,
          AuditConstants.SUBMIT_RESERVATION_REQUEST);
  try {
    // Try to place the reservation using the agent
    boolean result =
        plan.getReservationAgent().createReservation(reservationId, user,
            plan, request.getReservationDefinition());
    if (result) {
      // add the reservation id to valid ones maintained by reservation
      // system
      reservationSystem.setQueueForReservation(reservationId, queueName);
      // create the reservation synchronously if required
      refreshScheduler(queueName, request.getReservationDefinition(),
          reservationId.toString());
      // return the reservation id
      response.setReservationId(reservationId);
    }
  } catch (PlanningException e) {
    RMAuditLogger.logFailure(user, AuditConstants.SUBMIT_RESERVATION_REQUEST,
        e.getMessage(), "ClientRMService",
        "Unable to create the reservation: " + reservationId);
    throw RPCUtil.getRemoteException(e);
  }
  RMAuditLogger.logSuccess(user, AuditConstants.SUBMIT_RESERVATION_REQUEST,
      "ClientRMService: " + reservationId);
  return response;
}
项目:aliyun-oss-hadoop-fs    文件:TestReservationSystemWithRMHA.java   
@Test
public void testUpdateReservationAndCheckAfterFailover() throws Exception {
  startRMs();

  addNodeCapacityToPlan(rm1, 102400, 100);

  ClientRMService clientService = rm1.getClientRMService();

  // create a reservation
  ReservationSubmissionRequest request = createReservationSubmissionRequest();
  ReservationSubmissionResponse response = null;
  try {
    response = clientService.submitReservation(request);
  } catch (Exception e) {
    Assert.fail(e.getMessage());
  }
  Assert.assertNotNull(response);
  ReservationId reservationID = response.getReservationId();
  Assert.assertNotNull(reservationID);
  LOG.info("Submit reservation response: " + reservationID);
  ReservationDefinition reservationDefinition =
      request.getReservationDefinition();

  // Change any field

  long newDeadline = reservationDefinition.getDeadline() + 100;
  reservationDefinition.setDeadline(newDeadline);
  ReservationUpdateRequest updateRequest = ReservationUpdateRequest
      .newInstance(reservationDefinition, reservationID);
  rm1.updateReservationState(updateRequest);

  // Do the failover
  explicitFailover();

  rm2.registerNode("127.0.0.1:1", 102400, 100);

  RMState state = rm2.getRMContext().getStateStore().loadState();
  Map<ReservationId, ReservationAllocationStateProto> reservationStateMap =
      state.getReservationState().get(ReservationSystemTestUtil.reservationQ);
  Assert.assertNotNull(reservationStateMap);
  ReservationAllocationStateProto reservationState =
      reservationStateMap.get(reservationID);
  Assert.assertEquals(newDeadline,
      reservationState.getReservationDefinition().getDeadline());
}
项目:aliyun-oss-hadoop-fs    文件:YarnClientImpl.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return rmClient.submitReservation(request);
}
项目:aliyun-oss-hadoop-fs    文件:ResourceMgrDelegate.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return client.submitReservation(request);
}
项目:aliyun-oss-hadoop-fs    文件:TestClientRedirect.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return null;
}
项目:big-c    文件:ClientRMService.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  // Check if reservation system is enabled
  checkReservationSytem(AuditConstants.SUBMIT_RESERVATION_REQUEST);
  ReservationSubmissionResponse response =
      recordFactory.newRecordInstance(ReservationSubmissionResponse.class);
  // Create a new Reservation Id
  ReservationId reservationId = reservationSystem.getNewReservationId();
  // Validate the input
  Plan plan =
      rValidator.validateReservationSubmissionRequest(reservationSystem,
          request, reservationId);
  // Check ACLs
  String queueName = request.getQueue();
  String user =
      checkReservationACLs(queueName,
          AuditConstants.SUBMIT_RESERVATION_REQUEST);
  try {
    // Try to place the reservation using the agent
    boolean result =
        plan.getReservationAgent().createReservation(reservationId, user,
            plan, request.getReservationDefinition());
    if (result) {
      // add the reservation id to valid ones maintained by reservation
      // system
      reservationSystem.setQueueForReservation(reservationId, queueName);
      // create the reservation synchronously if required
      refreshScheduler(queueName, request.getReservationDefinition(),
          reservationId.toString());
      // return the reservation id
      response.setReservationId(reservationId);
    }
  } catch (PlanningException e) {
    RMAuditLogger.logFailure(user, AuditConstants.SUBMIT_RESERVATION_REQUEST,
        e.getMessage(), "ClientRMService",
        "Unable to create the reservation: " + reservationId);
    throw RPCUtil.getRemoteException(e);
  }
  RMAuditLogger.logSuccess(user, AuditConstants.SUBMIT_RESERVATION_REQUEST,
      "ClientRMService: " + reservationId);
  return response;
}
项目:big-c    文件:YarnClientImpl.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return rmClient.submitReservation(request);
}
项目:big-c    文件:ResourceMgrDelegate.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return client.submitReservation(request);
}
项目:big-c    文件:TestClientRedirect.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return null;
}
项目:hadoop-2.6.0-cdh5.4.3    文件:ClientRMService.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  // Check if reservation system is enabled
  checkReservationSytem(AuditConstants.SUBMIT_RESERVATION_REQUEST);
  ReservationSubmissionResponse response =
      recordFactory.newRecordInstance(ReservationSubmissionResponse.class);
  // Create a new Reservation Id
  ReservationId reservationId = reservationSystem.getNewReservationId();
  // Validate the input
  Plan plan =
      rValidator.validateReservationSubmissionRequest(reservationSystem,
          request, reservationId);
  // Check ACLs
  String queueName = request.getQueue();
  String user =
      checkReservationACLs(queueName,
          AuditConstants.SUBMIT_RESERVATION_REQUEST);
  try {
    // Try to place the reservation using the agent
    boolean result =
        plan.getReservationAgent().createReservation(reservationId, user,
            plan, request.getReservationDefinition());
    if (result) {
      // add the reservation id to valid ones maintained by reservation
      // system
      reservationSystem.setQueueForReservation(reservationId, queueName);
      // create the reservation synchronously if required
      refreshScheduler(queueName, request.getReservationDefinition(),
          reservationId.toString());
      // return the reservation id
      response.setReservationId(reservationId);
    }
  } catch (PlanningException e) {
    RMAuditLogger.logFailure(user, AuditConstants.SUBMIT_RESERVATION_REQUEST,
        e.getMessage(), "ClientRMService",
        "Unable to create the reservation: " + reservationId);
    throw RPCUtil.getRemoteException(e);
  }
  RMAuditLogger.logSuccess(user, AuditConstants.SUBMIT_RESERVATION_REQUEST,
      "ClientRMService: " + reservationId);
  return response;
}
项目:hadoop-2.6.0-cdh5.4.3    文件:YarnClientImpl.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return rmClient.submitReservation(request);
}
项目:hadoop-2.6.0-cdh5.4.3    文件:ResourceMgrDelegate.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return client.submitReservation(request);
}
项目:hadoop-2.6.0-cdh5.4.3    文件:TestClientRedirect.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return null;
}
项目:FlexMap    文件:ResourceMgrDelegate.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return client.submitReservation(request);
}
项目:FlexMap    文件:TestClientRedirect.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  return null;
}
项目:hops    文件:MockResourceManagerFacade.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException,
    IOException {
  throw new NotImplementedException();
}
项目:hops    文件:RMWebServices.java   
/**
 * Function to submit a Reservation to the RM.
 *
 * @param resContext provides information to construct the
 *          ReservationSubmissionRequest
 * @param hsr the servlet request
 * @return Response containing the status code
 * @throws AuthorizationException
 * @throws IOException
 * @throws InterruptedException
 */
@POST
@Path("/reservation/submit")
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Response submitReservation(
    ReservationSubmissionRequestInfo resContext,
    @Context HttpServletRequest hsr) throws AuthorizationException,
    IOException, InterruptedException {

  init();
  UserGroupInformation callerUGI = getCallerUserGroupInformation(hsr, true);
  if (callerUGI == null) {
    throw new AuthorizationException("Unable to obtain user name, "
        + "user not authenticated");
  }
  if (UserGroupInformation.isSecurityEnabled() && isStaticUser(callerUGI)) {
    String msg = "The default static user cannot carry out this operation.";
    return Response.status(Status.FORBIDDEN).entity(msg).build();
  }

  final ReservationSubmissionRequest reservation =
      createReservationSubmissionRequest(resContext);

  try {
    callerUGI
        .doAs(new PrivilegedExceptionAction<ReservationSubmissionResponse>() {
            @Override
            public ReservationSubmissionResponse run() throws IOException,
                YarnException {
              return rm.getClientRMService().submitReservation(reservation);
            }
        });
  } catch (UndeclaredThrowableException ue) {
    if (ue.getCause() instanceof YarnException) {
      throw new BadRequestException(ue.getCause().getMessage());
    }
    LOG.info("Submit reservation request failed", ue);
    throw ue;
  }

  return Response.status(Status.ACCEPTED).build();
}
项目:hops    文件:ClientRMService.java   
@Override
public ReservationSubmissionResponse submitReservation(
    ReservationSubmissionRequest request) throws YarnException, IOException {
  // Check if reservation system is enabled
  checkReservationSytem(AuditConstants.SUBMIT_RESERVATION_REQUEST);
  ReservationSubmissionResponse response =
      recordFactory.newRecordInstance(ReservationSubmissionResponse.class);
  ReservationId reservationId = request.getReservationId();
  // Validate the input
  Plan plan =
      rValidator.validateReservationSubmissionRequest(reservationSystem,
          request, reservationId);

  ReservationAllocation allocation = plan.getReservationById(reservationId);

  if (allocation != null) {
    boolean isNewDefinition = !allocation.getReservationDefinition().equals(
        request.getReservationDefinition());
    if (isNewDefinition) {
      String message = "Reservation allocation already exists with the " +
          "reservation id " + reservationId.toString() + ", but a different" +
          " reservation definition was provided. Please try again with a " +
          "new reservation id, or consider updating the reservation instead.";
      throw RPCUtil.getRemoteException(message);
    } else {
      return response;
    }
  }

  // Check ACLs
  String queueName = request.getQueue();
  String user =
      checkReservationACLs(queueName,
          AuditConstants.SUBMIT_RESERVATION_REQUEST, null);
  try {
    // Try to place the reservation using the agent
    boolean result =
        plan.getReservationAgent().createReservation(reservationId, user,
            plan, request.getReservationDefinition());
    if (result) {
      // add the reservation id to valid ones maintained by reservation
      // system
      reservationSystem.setQueueForReservation(reservationId, queueName);
      // create the reservation synchronously if required
      refreshScheduler(queueName, request.getReservationDefinition(),
          reservationId.toString());
      // return the reservation id
    }
  } catch (PlanningException e) {
    RMAuditLogger.logFailure(user, AuditConstants.SUBMIT_RESERVATION_REQUEST,
        e.getMessage(), "ClientRMService",
        "Unable to create the reservation: " + reservationId);
    throw RPCUtil.getRemoteException(e);
  }
  RMAuditLogger.logSuccess(user, AuditConstants.SUBMIT_RESERVATION_REQUEST,
      "ClientRMService: " + reservationId);
  return response;
}
项目:hops    文件:TestReservationSystemWithRMHA.java   
@Test
public void testUpdateReservationAndCheckAfterFailover() throws Exception {
  startRMs();

  addNodeCapacityToPlan(rm1, 102400, 100);

  ClientRMService clientService = rm1.getClientRMService();

  ReservationId reservationID = getNewReservation(clientService)
      .getReservationId();

  // create a reservation
  ReservationSubmissionRequest request = createReservationSubmissionRequest(
      reservationID);
  ReservationSubmissionResponse response = null;
  try {
    response = clientService.submitReservation(request);
  } catch (Exception e) {
    Assert.fail(e.getMessage());
  }
  Assert.assertNotNull(response);
  Assert.assertNotNull(reservationID);
  LOG.info("Submit reservation response: " + reservationID);
  ReservationDefinition reservationDefinition =
      request.getReservationDefinition();

  // Change any field

  long newDeadline = reservationDefinition.getDeadline() + 100;
  reservationDefinition.setDeadline(newDeadline);
  ReservationUpdateRequest updateRequest = ReservationUpdateRequest
      .newInstance(reservationDefinition, reservationID);
  rm1.updateReservationState(updateRequest);

  // Do the failover
  explicitFailover();

  rm2.registerNode("127.0.0.1:1", 102400, 100);

  RMState state = rm2.getRMContext().getStateStore().loadState();
  Map<ReservationId, ReservationAllocationStateProto> reservationStateMap =
      state.getReservationState().get(ReservationSystemTestUtil.reservationQ);
  Assert.assertNotNull(reservationStateMap);
  ReservationAllocationStateProto reservationState =
      reservationStateMap.get(reservationID);
  Assert.assertEquals(newDeadline,
      reservationState.getReservationDefinition().getDeadline());
}