YARN-7954. Set component status to STOPPED when YARN service is stopped. Contributed by Gour Saha

This commit is contained in:
Billie Rinaldi 2018-02-28 11:57:24 -08:00
parent f20e10b2dd
commit 31009034bd
1 changed files with 8 additions and 0 deletions

View File

@ -96,6 +96,7 @@ import java.util.concurrent.TimeUnit;
import static org.apache.hadoop.fs.FileSystem.FS_DEFAULT_NAME_KEY;
import static org.apache.hadoop.registry.client.api.RegistryConstants.*;
import static org.apache.hadoop.yarn.api.records.ContainerExitStatus.KILLED_AFTER_APP_COMPLETION;
import static org.apache.hadoop.yarn.service.api.ServiceApiConstants.*;
import static org.apache.hadoop.yarn.service.component.ComponentEventType.*;
@ -253,6 +254,13 @@ public class ServiceScheduler extends CompositeService {
public void serviceStop() throws Exception {
LOG.info("Stopping service scheduler");
// Mark component-instances/containers as STOPPED
if (YarnConfiguration.timelineServiceV2Enabled(getConfig())) {
for (ContainerId containerId : getLiveInstances().keySet()) {
serviceTimelinePublisher.componentInstanceFinished(containerId,
KILLED_AFTER_APP_COMPLETION, diagnostics.toString());
}
}
if (executorService != null) {
executorService.shutdownNow();
}