/** * Cancel a number of outstanding requests for a role -that is, not * actual containers, just requests for new ones. * @param role role * @param toCancel number to cancel * @return a list of cancellable operations. */ public List<AbstractRMOperation> cancelRequestsForRole(RoleStatus role, int toCancel) { return role.isAntiAffinePlacement() ? cancelRequestsForAARole(role, toCancel) : cancelRequestsForSimpleRole(role, toCancel); }
sb.append(", limitsExceeded=").append(limitsExceeded); sb.append(", resourceRequirements=").append(resourceRequirements); sb.append(", isAntiAffinePlacement=").append(isAntiAffinePlacement()); if (isAntiAffinePlacement()) { sb.append(", pendingAntiAffineRequests=").append(pendingAntiAffineRequests); sb.append(", outstandingAArequest=").append(outstandingAArequest);
sb.append(", limitsExceeded=").append(limitsExceeded); sb.append(", resourceRequirements=").append(resourceRequirements); sb.append(", isAntiAffinePlacement=").append(isAntiAffinePlacement()); if (isAntiAffinePlacement()) { sb.append(", pendingAntiAffineRequests=").append(pendingAntiAffineRequests); sb.append(", outstandingAArequest=").append(outstandingAArequest);
/** * Cancel a number of outstanding requests for a role -that is, not * actual containers, just requests for new ones. * @param role role * @param toCancel number to cancel * @return a list of cancellable operations. */ public List<AbstractRMOperation> cancelRequestsForRole(RoleStatus role, int toCancel) { return role.isAntiAffinePlacement() ? cancelRequestsForAARole(role, toCancel) : cancelRequestsForSimpleRole(role, toCancel); }
/** * Create a container request. * Update internal state, such as the role request count. * Anti-Affine: the {@link RoleStatus#outstandingAArequest} is set here. * This is where role history information will be used for placement decisions. * @param role role * @return the container request to submit or null if there is none */ private AMRMClient.ContainerRequest createContainerRequest(RoleStatus role) { if (role.isAntiAffinePlacement()) { return createAAContainerRequest(role); } else { incrementRequestCount(role); OutstandingRequest request = roleHistory.requestContainerForRole(role); if (request != null) { return request.getIssuedRequest(); } else { return null; } } }
/** * Create a container request. * Update internal state, such as the role request count. * Anti-Affine: the {@link RoleStatus#outstandingAArequest} is set here. * This is where role history information will be used for placement decisions. * @param role role * @return the container request to submit or null if there is none */ private AMRMClient.ContainerRequest createContainerRequest(RoleStatus role) { if (role.isAntiAffinePlacement()) { return createAAContainerRequest(role); } else { incrementRequestCount(role); OutstandingRequest request = roleHistory.requestContainerForRole(role); if (request != null) { return request.getIssuedRequest(); } else { return null; } } }
/** * Find a node for a role and request an instance on that (or a location-less * instance) * @param role role status * @return a request ready to go, or null if this is an AA request and no * location can be found. */ public synchronized OutstandingRequest requestContainerForRole(RoleStatus role) { if (role.isAntiAffinePlacement()) { return requestContainerForAARole(role); } else { Resource resource = recordFactory.newResource(); role.copyResourceRequirements(resource); NodeInstance node = findRecentNodeForNewInstance(role); return requestInstanceOnNode(node, role, resource); } }
/** * Find a node for a role and request an instance on that (or a location-less * instance) * @param role role status * @return a request ready to go, or null if this is an AA request and no * location can be found. */ public synchronized OutstandingRequest requestContainerForRole(RoleStatus role) { if (role.isAntiAffinePlacement()) { return requestContainerForAARole(role); } else { Resource resource = recordFactory.newResource(); role.copyResourceRequirements(resource); NodeInstance node = findRecentNodeForNewInstance(role); return requestInstanceOnNode(node, role, resource); } }
if (role.isAntiAffinePlacement()) { long pending = delta; if (roleHistory.canPlaceAANodes()) {
if (role.isAntiAffinePlacement()) { long pending = delta; if (roleHistory.canPlaceAANodes()) {
if (role.isAntiAffinePlacement()) { role.completeOutstandingAARequest();
if (role.isAntiAffinePlacement()) { role.completeOutstandingAARequest();
cd.setRoleOpt(rolename, ROLE_NODE_FAILED_INSTANCES, role.getNodeFailed()); cd.setRoleOpt(rolename, ROLE_PREEMPTED_INSTANCES, role.getPreempted()); if (role.isAntiAffinePlacement()) { cd.setRoleOpt(rolename, ROLE_PENDING_AA_INSTANCES, role.getPendingAntiAffineRequests());
cd.setRoleOpt(rolename, ROLE_NODE_FAILED_INSTANCES, role.getNodeFailed()); cd.setRoleOpt(rolename, ROLE_PREEMPTED_INSTANCES, role.getPreempted()); if (role.isAntiAffinePlacement()) { cd.setRoleOpt(rolename, ROLE_PENDING_AA_INSTANCES, role.getPendingAntiAffineRequests());
String nameUrl = apiPath(LIVE_COMPONENTS) + "/" + roleName; String aatext; if (status.isAntiAffinePlacement()) { boolean aaRequestOutstanding = status.isAARequestOutstanding(); int pending = (int)status.getPendingAntiAffineRequests();
String nameUrl = apiPath(LIVE_COMPONENTS) + "/" + roleName; String aatext; if (status.isAntiAffinePlacement()) { boolean aaRequestOutstanding = status.isAARequestOutstanding(); int pending = (int)status.getPendingAntiAffineRequests();