private static void MergeContainerHistoryData(ContainerHistoryData historyData, ContainerFinishData finishData) { historyData.SetFinishTime(finishData.GetFinishTime()); historyData.SetDiagnosticsInfo(finishData.GetDiagnosticsInfo()); historyData.SetContainerExitStatus(finishData.GetContainerExitStatus()); historyData.SetContainerState(finishData.GetContainerState()); }
/// <exception cref="System.IO.IOException"/> public virtual void ContainerFinished(ContainerFinishData containerFinish) { ConcurrentMap <ContainerId, ContainerHistoryData> subMap = GetSubMap(containerFinish .GetContainerId().GetApplicationAttemptId()); ContainerHistoryData data = subMap[containerFinish.GetContainerId()]; if (data == null) { throw new IOException("The finish information of container " + containerFinish.GetContainerId () + " is stored before" + " the start information."); } // Make the assumption that ContainerState should not be null if // the finish information is already recorded if (data.GetContainerState() != null) { throw new IOException("The finish information of container " + containerFinish.GetContainerId () + " is already stored."); } data.SetFinishTime(containerFinish.GetFinishTime()); data.SetDiagnosticsInfo(containerFinish.GetDiagnosticsInfo()); data.SetContainerExitStatus(containerFinish.GetContainerExitStatus()); data.SetContainerState(containerFinish.GetContainerState()); }