diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/component/instance/ComponentInstance.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/component/instance/ComponentInstance.java index a49ad1c..95232c4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/component/instance/ComponentInstance.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/component/instance/ComponentInstance.java @@ -336,8 +336,10 @@ static void handleComponentInstanceRelaunch(ComponentInstance compInstance, // record in ATS LOG.info("Publishing component instance status {} {} ", event.getContainerId(), containerState); + int exitStatus = failureBeforeLaunch || event.getStatus() == null ? + ContainerExitStatus.INVALID : event.getStatus().getExitStatus(); compInstance.serviceTimelinePublisher.componentInstanceFinished( - event.getContainerId(), event.getStatus().getExitStatus(), + event.getContainerId(), exitStatus, containerState, containerDiag); } @@ -352,8 +354,10 @@ static void handleComponentInstanceRelaunch(ComponentInstance compInstance, if (compInstance.timelineServiceEnabled) { // record in ATS + int exitStatus = failureBeforeLaunch || event.getStatus() == null ? + ContainerExitStatus.INVALID : event.getStatus().getExitStatus(); compInstance.serviceTimelinePublisher.componentInstanceFinished( - event.getContainerId(), event.getStatus().getExitStatus(), + event.getContainerId(), exitStatus, containerState, containerDiag); }