@Test public void ContainerResourceIncreaseRequest() { ContainerId containerId = ContainerId .newContainerId(ApplicationAttemptId.newInstance( ApplicationId.newInstance(1234, 3), 3), 7); Resource resource = Resource.newInstance(1023, 3, 4); ContainerResourceIncreaseRequest context = ContainerResourceIncreaseRequest .newInstance(containerId, resource); // to proto and get it back ContainerResourceIncreaseRequestProto proto = ((ContainerResourceIncreaseRequestPBImpl) context).getProto(); ContainerResourceIncreaseRequest contextRecover = new ContainerResourceIncreaseRequestPBImpl(proto); // check value Assert.assertEquals(contextRecover.getContainerId(), containerId); Assert.assertEquals(contextRecover.getCapability(), resource); }
@Public @Stable public static AllocateRequest newInstance(int responseID, float appProgress, List<ResourceRequest> resourceAsk, List<ContainerId> containersToBeReleased, ResourceBlacklistRequest resourceBlacklistRequest, List<ContainerResourceIncreaseRequest> increaseRequests) { AllocateRequest allocateRequest = Records.newRecord(AllocateRequest.class); allocateRequest.setResponseId(responseID); allocateRequest.setProgress(appProgress); allocateRequest.setAskList(resourceAsk); allocateRequest.setReleaseList(containersToBeReleased); allocateRequest.setResourceBlacklistRequest(resourceBlacklistRequest); allocateRequest.setIncreaseRequests(increaseRequests); return allocateRequest; }
@Test public void ContainerResourceIncreaseRequest() { ContainerId containerId = ContainerId .newContainerId(ApplicationAttemptId.newInstance( ApplicationId.newInstance(1234, 3), 3), 7); Resource resource = Resource.newInstance(1023, 3); ContainerResourceIncreaseRequest context = ContainerResourceIncreaseRequest .newInstance(containerId, resource); // to proto and get it back ContainerResourceIncreaseRequestProto proto = ((ContainerResourceIncreaseRequestPBImpl) context).getProto(); ContainerResourceIncreaseRequest contextRecover = new ContainerResourceIncreaseRequestPBImpl(proto); // check value Assert.assertEquals(contextRecover.getContainerId(), containerId); Assert.assertEquals(contextRecover.getCapability(), resource); }
/** * Use {@link AllocateRequest#newInstance(int, float, List, List, * ResourceBlacklistRequest, List)} instead * @param responseID responseId * @param appProgress appProgress * @param resourceAsk resourceAsk * @param containersToBeReleased containersToBeReleased * @param resourceBlacklistRequest resourceBlacklistRequest * @param increaseRequests increaseRequests * @return AllocateRequest */ @Deprecated public static AllocateRequest newInstance(int responseID, float appProgress, List<ResourceRequest> resourceAsk, List<ContainerId> containersToBeReleased, ResourceBlacklistRequest resourceBlacklistRequest, List<ContainerResourceIncreaseRequest> increaseRequests) { AllocateRequest allocateRequest = Records.newRecord(AllocateRequest.class); allocateRequest.setResponseId(responseID); allocateRequest.setProgress(appProgress); allocateRequest.setAskList(resourceAsk); allocateRequest.setReleaseList(containersToBeReleased); allocateRequest.setResourceBlacklistRequest(resourceBlacklistRequest); allocateRequest.setIncreaseRequests(increaseRequests); return allocateRequest; }
@Test public void ContainerResourceIncreaseRequest() { ContainerId containerId = ContainerId .newInstance(ApplicationAttemptId.newInstance( ApplicationId.newInstance(1234, 3), 3), 7); Resource resource = Resource.newInstance(1023, 3); ContainerResourceIncreaseRequest context = ContainerResourceIncreaseRequest .newInstance(containerId, resource); // to proto and get it back ContainerResourceIncreaseRequestProto proto = ((ContainerResourceIncreaseRequestPBImpl) context).getProto(); ContainerResourceIncreaseRequest contextRecover = new ContainerResourceIncreaseRequestPBImpl(proto); // check value Assert.assertEquals(contextRecover.getContainerId(), containerId); Assert.assertEquals(contextRecover.getCapability(), resource); }
@Override public void setIncreaseRequests( List<ContainerResourceIncreaseRequest> increaseRequests) { if (increaseRequests == null) { return; } initIncreaseRequests(); this.increaseRequests.clear(); this.increaseRequests.addAll(increaseRequests); }
private void initIncreaseRequests() { if (this.increaseRequests != null) { return; } AllocateRequestProtoOrBuilder p = viaProto ? proto : builder; List<ContainerResourceIncreaseRequestProto> list = p.getIncreaseRequestList(); this.increaseRequests = new ArrayList<ContainerResourceIncreaseRequest>(); for (ContainerResourceIncreaseRequestProto c : list) { this.increaseRequests.add(convertFromProtoFormat(c)); } }
private void addIncreaseRequestsToProto() { maybeInitBuilder(); builder.clearIncreaseRequest(); if (increaseRequests == null) { return; } Iterable<ContainerResourceIncreaseRequestProto> iterable = new Iterable<ContainerResourceIncreaseRequestProto>() { @Override public Iterator<ContainerResourceIncreaseRequestProto> iterator() { return new Iterator<ContainerResourceIncreaseRequestProto>() { Iterator<ContainerResourceIncreaseRequest> iter = increaseRequests.iterator(); @Override public boolean hasNext() { return iter.hasNext(); } @Override public ContainerResourceIncreaseRequestProto next() { return convertToProtoFormat(iter.next()); } @Override public void remove() { throw new UnsupportedOperationException(); } }; } }; builder.addAllIncreaseRequest(iterable); }
@Test public void testResourceChangeContextWithNullField() { ContainerResourceIncreaseRequest context = ContainerResourceIncreaseRequest .newInstance(null, null); // to proto and get it back ContainerResourceIncreaseRequestProto proto = ((ContainerResourceIncreaseRequestPBImpl) context).getProto(); ContainerResourceIncreaseRequest contextRecover = new ContainerResourceIncreaseRequestPBImpl(proto); // check value Assert.assertNull(contextRecover.getContainerId()); Assert.assertNull(contextRecover.getCapability()); }
private void addIncreaseRequestsToProto() { maybeInitBuilder(); builder.clearIncreaseRequest(); if (deprecatedIncreaseReqs == null) { return; } Iterable<YarnProtos.ContainerResourceIncreaseRequestProto> iterable = new Iterable<YarnProtos.ContainerResourceIncreaseRequestProto>() { @Override public Iterator<YarnProtos.ContainerResourceIncreaseRequestProto> iterator() { return new Iterator<YarnProtos.ContainerResourceIncreaseRequestProto>() { private Iterator<ContainerResourceIncreaseRequest> iter = deprecatedIncreaseReqs.iterator(); @Override public boolean hasNext() { return iter.hasNext(); } @Override public YarnProtos.ContainerResourceIncreaseRequestProto next() { return convertToProtoFormat(iter.next()); } @Override public void remove() { throw new UnsupportedOperationException(); } }; } }; builder.addAllIncreaseRequest(iterable); }
@Deprecated @Override public void setIncreaseRequests( List<ContainerResourceIncreaseRequest> increaseRequests) { if (increaseRequests == null) { return; } initIncreaseRequests(); this.deprecatedIncreaseReqs.clear(); this.deprecatedIncreaseReqs.addAll(increaseRequests); }
@Override public List<ContainerResourceIncreaseRequest> getIncreaseRequests() { initIncreaseRequests(); return this.increaseRequests; }
private ContainerResourceIncreaseRequestProto convertToProtoFormat( ContainerResourceIncreaseRequest t) { return ((ContainerResourceIncreaseRequestPBImpl) t).getProto(); }
@Deprecated @Override public List<ContainerResourceIncreaseRequest> getIncreaseRequests() { initIncreaseRequests(); return this.deprecatedIncreaseReqs; }
private YarnProtos.ContainerResourceIncreaseRequestProto convertToProtoFormat( ContainerResourceIncreaseRequest t) { return ((ContainerResourceIncreaseRequestPBImpl) t).getProto(); }
@BeforeClass public static void setup() throws Exception { typeValueCache.put(LongRange.class, new LongRange(1000, 2000)); typeValueCache.put(URL.class, URL.newInstance( "http", "localhost", 8080, "file0")); typeValueCache.put(SerializedException.class, SerializedException.newInstance(new IOException("exception for test"))); generateByNewInstance(LogAggregationContext.class); generateByNewInstance(ApplicationId.class); generateByNewInstance(ApplicationAttemptId.class); generateByNewInstance(ContainerId.class); generateByNewInstance(Resource.class); generateByNewInstance(ResourceBlacklistRequest.class); generateByNewInstance(ResourceOption.class); generateByNewInstance(LocalResource.class); generateByNewInstance(Priority.class); generateByNewInstance(NodeId.class); generateByNewInstance(NodeReport.class); generateByNewInstance(Token.class); generateByNewInstance(NMToken.class); generateByNewInstance(ResourceRequest.class); generateByNewInstance(ApplicationAttemptReport.class); generateByNewInstance(ApplicationResourceUsageReport.class); generateByNewInstance(ApplicationReport.class); generateByNewInstance(Container.class); generateByNewInstance(ContainerLaunchContext.class); generateByNewInstance(ApplicationSubmissionContext.class); generateByNewInstance(ContainerReport.class); generateByNewInstance(UpdateContainerRequest.class); generateByNewInstance(UpdateContainerError.class); generateByNewInstance(IncreaseContainersResourceRequest.class); generateByNewInstance(IncreaseContainersResourceResponse.class); generateByNewInstance(ContainerStatus.class); generateByNewInstance(PreemptionContainer.class); generateByNewInstance(PreemptionResourceRequest.class); generateByNewInstance(PreemptionContainer.class); generateByNewInstance(PreemptionContract.class); generateByNewInstance(StrictPreemptionContract.class); generateByNewInstance(PreemptionMessage.class); generateByNewInstance(StartContainerRequest.class); generateByNewInstance(NodeLabel.class); generateByNewInstance(UpdatedContainer.class); // genByNewInstance does not apply to QueueInfo, cause // it is recursive(has sub queues) typeValueCache.put(QueueInfo.class, QueueInfo.newInstance("root", 1.0f, 1.0f, 0.1f, null, null, QueueState.RUNNING, ImmutableSet.of("x", "y"), "x && y", null, false)); generateByNewInstance(QueueStatistics.class); generateByNewInstance(QueueUserACLInfo.class); generateByNewInstance(YarnClusterMetrics.class); // for reservation system generateByNewInstance(ReservationId.class); generateByNewInstance(ReservationRequest.class); generateByNewInstance(ReservationRequests.class); generateByNewInstance(ReservationDefinition.class); generateByNewInstance(ResourceAllocationRequest.class); generateByNewInstance(ReservationAllocationState.class); generateByNewInstance(ResourceUtilization.class); generateByNewInstance(ContainerResourceIncreaseRequest.class); }
/** * Get the <code>ContainerResourceIncreaseRequest</code> being sent by the * <code>ApplicationMaster</code> */ @Public @Stable public abstract List<ContainerResourceIncreaseRequest> getIncreaseRequests();
/** * Set the <code>ContainerResourceIncreaseRequest</code> to inform the * <code>ResourceManager</code> about some container's resources need to be * increased */ @Public @Stable public abstract void setIncreaseRequests( List<ContainerResourceIncreaseRequest> increaseRequests);