@Override public synchronized void setResourceRequest( final List<PreemptionResourceRequest> req) { if (null == resources) { builder.clearResource(); } this.resources = req; }
private void initPreemptionResourceRequests() { if (resources != null) { return; } PreemptionContractProtoOrBuilder p = viaProto ? proto : builder; List<PreemptionResourceRequestProto> list = p.getResourceList(); resources = new ArrayList<PreemptionResourceRequest>(); for (PreemptionResourceRequestProto rr : list) { resources.add(convertFromProtoFormat(rr)); } }
private void addResourcesToProto() { maybeInitBuilder(); builder.clearResource(); if (null == resources) { return; } Iterable<PreemptionResourceRequestProto> iterable = new Iterable<PreemptionResourceRequestProto>() { @Override public Iterator<PreemptionResourceRequestProto> iterator() { return new Iterator<PreemptionResourceRequestProto>() { Iterator<PreemptionResourceRequest> iter = resources.iterator(); @Override public boolean hasNext() { return iter.hasNext(); } @Override public PreemptionResourceRequestProto next() { return convertToProtoFormat(iter.next()); } @Override public void remove() { throw new UnsupportedOperationException(); } }; } }; builder.addAllResource(iterable); }
@Override public synchronized List<PreemptionResourceRequest> getResourceRequest() { initPreemptionResourceRequests(); return resources; }
private PreemptionResourceRequestProto convertToProtoFormat(PreemptionResourceRequest t) { return ((PreemptionResourceRequestPBImpl)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(ContainerResourceChangeRequest.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); // 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(ResourceUtilization.class); }