private YarnProtos.PreemptionMessageProto ConvertToProtoFormat(PreemptionMessage r) { lock (this) { return(((PreemptionMessagePBImpl)r).GetProto()); } }
public override void SetPreemptionMessage(PreemptionMessage preempt) { lock (this) { MaybeInitBuilder(); if (null == preempt) { builder.ClearPreempt(); } this.preempt = preempt; } }
private PreemptionMessage GeneratePreemptionMessage(Allocation allocation) { PreemptionMessage pMsg = null; // assemble strict preemption request if (allocation.GetStrictContainerPreemptions() != null) { pMsg = recordFactory.NewRecordInstance <PreemptionMessage>(); StrictPreemptionContract pStrict = recordFactory.NewRecordInstance <StrictPreemptionContract >(); ICollection <PreemptionContainer> pCont = new HashSet <PreemptionContainer>(); foreach (ContainerId cId in allocation.GetStrictContainerPreemptions()) { PreemptionContainer pc = recordFactory.NewRecordInstance <PreemptionContainer>(); pc.SetId(cId); pCont.AddItem(pc); } pStrict.SetContainers(pCont); pMsg.SetStrictContract(pStrict); } // assemble negotiable preemption request if (allocation.GetResourcePreemptions() != null && allocation.GetResourcePreemptions ().Count > 0 && allocation.GetContainerPreemptions() != null && allocation.GetContainerPreemptions ().Count > 0) { if (pMsg == null) { pMsg = recordFactory.NewRecordInstance <PreemptionMessage>(); } PreemptionContract contract = recordFactory.NewRecordInstance <PreemptionContract> (); ICollection <PreemptionContainer> pCont = new HashSet <PreemptionContainer>(); foreach (ContainerId cId in allocation.GetContainerPreemptions()) { PreemptionContainer pc = recordFactory.NewRecordInstance <PreemptionContainer>(); pc.SetId(cId); pCont.AddItem(pc); } IList <PreemptionResourceRequest> pRes = new AList <PreemptionResourceRequest>(); foreach (ResourceRequest crr in allocation.GetResourcePreemptions()) { PreemptionResourceRequest prr = recordFactory.NewRecordInstance <PreemptionResourceRequest >(); prr.SetResourceRequest(crr); pRes.AddItem(prr); } contract.SetContainers(pCont); contract.SetResourceRequest(pRes); pMsg.SetContract(contract); } return(pMsg); }
public override PreemptionMessage GetPreemptionMessage() { lock (this) { YarnServiceProtos.AllocateResponseProtoOrBuilder p = viaProto ? proto : builder; if (this.preempt != null) { return(this.preempt); } if (!p.HasPreempt()) { return(null); } this.preempt = ConvertFromProtoFormat(p.GetPreempt()); return(this.preempt); } }
public static AllocateResponse NewAllocateResponse(int responseId, IList <ContainerStatus > completedContainers, IList <Container> allocatedContainers, IList <NodeReport> updatedNodes , Resource availResources, AMCommand command, int numClusterNodes, PreemptionMessage preempt) { AllocateResponse response = recordFactory.NewRecordInstance <AllocateResponse>(); response.SetNumClusterNodes(numClusterNodes); response.SetResponseId(responseId); response.SetCompletedContainersStatuses(completedContainers); response.SetAllocatedContainers(allocatedContainers); response.SetUpdatedNodes(updatedNodes); response.SetAvailableResources(availResources); response.SetAMCommand(command); response.SetPreemptionMessage(preempt); return(response); }
public static AllocateResponse NewInstance(int responseId, IList <ContainerStatus> completedContainers, IList <Container> allocatedContainers, IList <NodeReport> updatedNodes , Resource availResources, AMCommand command, int numClusterNodes, PreemptionMessage preempt, IList <NMToken> nmTokens, Token amRMToken, IList <ContainerResourceIncrease > increasedContainers, IList <ContainerResourceDecrease> decreasedContainers) { AllocateResponse response = NewInstance(responseId, completedContainers, allocatedContainers , updatedNodes, availResources, command, numClusterNodes, preempt, nmTokens, increasedContainers , decreasedContainers); response.SetAMRMToken(amRMToken); return(response); }
public static AllocateResponse NewInstance(int responseId, IList <ContainerStatus> completedContainers, IList <Container> allocatedContainers, IList <NodeReport> updatedNodes , Resource availResources, AMCommand command, int numClusterNodes, PreemptionMessage preempt, IList <NMToken> nmTokens) { AllocateResponse response = Org.Apache.Hadoop.Yarn.Util.Records.NewRecord <AllocateResponse >(); response.SetNumClusterNodes(numClusterNodes); response.SetResponseId(responseId); response.SetCompletedContainersStatuses(completedContainers); response.SetAllocatedContainers(allocatedContainers); response.SetUpdatedNodes(updatedNodes); response.SetAvailableResources(availResources); response.SetAMCommand(command); response.SetPreemptionMessage(preempt); response.SetNMTokens(nmTokens); return(response); }
public abstract void SetPreemptionMessage(PreemptionMessage request);