if (!isNullOrEmpty(request.getAskList())) { splitResourceRequests(request.getAskList()); AllocateRequest newRequest = findOrCreateAllocateRequestForSubCluster( entry.getKey(), request, requestMap); newRequest.getAskList().addAll(entry.getValue());
@Override public AllocateResponse allocate(AllocateRequest request) throws YarnException, IOException { lastAsk = request.getAskList(); for (ResourceRequest req : lastAsk) { if (ResourceRequest.ANY.equals(req.getResourceName())) { Priority priority = req.getPriority(); if (priority.equals(RMContainerAllocator.PRIORITY_MAP)) { lastAnyAskMap = req.getNumContainers(); } else if (priority.equals(RMContainerAllocator.PRIORITY_REDUCE)){ lastAnyAskReduce = req.getNumContainers(); } } } AllocateResponse response = AllocateResponse.newInstance( request.getResponseId(), containersToComplete, containersToAllocate, Collections.<NodeReport>emptyList(), Resource.newInstance(512000, 1024), null, 10, null, Collections.<NMToken>emptyList()); // RM will always ensure that a default priority is sent to AM response.setApplicationPriority(Priority.newInstance(0)); containersToComplete.clear(); containersToAllocate.clear(); return response; }
.partitionAskList(request.getAllocateRequest().getAskList());
if (request.getAskList() != null) { for (ResourceRequest rr : request.getAskList()) { for (int i = 0; i < rr.getNumContainers(); i++) { ContainerId containerId = ContainerId.newInstance(
@Override public DistributedSchedulingAllocateResponse allocateForDistributedScheduling( DistributedSchedulingAllocateRequest request) throws YarnException, IOException { List<ResourceRequest> askList = request.getAllocateRequest().getAskList(); List<Container> allocatedContainers = request.getAllocatedContainers(); Assert.assertEquals(1, allocatedContainers.size()); Assert.assertEquals(ExecutionType.OPPORTUNISTIC, allocatedContainers.get(0).getExecutionType()); Assert.assertEquals(1, askList.size()); Assert.assertTrue(askList.get(0) .getExecutionTypeRequest().getEnforceExecutionType()); DistributedSchedulingAllocateResponse resp = factory .newRecordInstance(DistributedSchedulingAllocateResponse.class); RemoteNode remoteNode1 = RemoteNode.newInstance( NodeId.newInstance("h1", 1234), "http://h1:4321"); RemoteNode remoteNode2 = RemoteNode.newInstance( NodeId.newInstance("h2", 1234), "http://h2:4321"); remoteNode2.setNodePartition("l1"); resp.setNodesForScheduling( Arrays.asList(remoteNode1, remoteNode2)); return resp; } };
oppContainerAllocator.partitionAskList(request.getAskList());
@Override public AllocateResponse allocate(AllocateRequest request) throws YarnException, IOException { if (this.failover) { this.failover = false; throw new ApplicationMasterNotRegisteredException("Mock RM restarted"); } if(this.exception){ this.exception = false; throw new YarnException("Mock RM encountered exception"); } this.lastAsk = request.getAskList(); this.lastRelease = request.getReleaseList(); this.lastUpdates = request.getUpdateRequests(); this.lastBlacklistAdditions = request.getResourceBlacklistRequest().getBlacklistAdditions(); this.lastBlacklistRemovals = request.getResourceBlacklistRequest().getBlacklistRemovals(); return response; }
List<ResourceRequest> ask = request.getAskList(); List<ContainerId> release = request.getReleaseList();
.getProgress())); List<ResourceRequest> ask = request.getAskList(); List<ContainerId> release = request.getReleaseList();
.getProgress())); List<ResourceRequest> ask = request.getAskList(); List<ContainerId> release = request.getReleaseList();
@Override public AllocateResponse allocate(AllocateRequest request) throws YarnException, IOException { if (this.failover) { this.failover = false; throw new ApplicationMasterNotRegisteredException("Mock RM restarted"); } if (this.responseIdReset != -1) { String errorMessage = AMRMClientUtils.assembleInvalidResponseIdExceptionMessage(null, this.responseIdReset, request.getResponseId()); this.responseIdReset = -1; throw new InvalidApplicationMasterRequestException(errorMessage); } this.lastAsk = request.getAskList(); this.lastRelease = request.getReleaseList(); this.lastBlacklistAdditions = request.getResourceBlacklistRequest().getBlacklistAdditions(); this.lastBlacklistRemovals = request.getResourceBlacklistRequest().getBlacklistRemovals(); return AllocateResponse.newInstance(request.getResponseId() + 1, null, null, new ArrayList<NodeReport>(), Resource.newInstance(0, 0), null, 0, null, null); }