YARN-6424. TimelineCollector is not stopped when an app finishes in RM. Contributed by Varun Saxena.

This commit is contained in:
Rohith Sharma K S 2017-04-06 10:15:22 +05:30
parent 8c57aeb5b4
commit 1a9439e299
1 changed files with 6 additions and 5 deletions

View File

@ -179,8 +179,9 @@ public class TimelineServiceV2Publisher extends AbstractSystemMetricsPublisher {
getTimelinelineAppMetrics(appMetrics, finishedTime);
entity.setMetrics(entityMetrics);
getDispatcher().getEventHandler().handle(new TimelineV2PublishEvent(
SystemMetricsEventType.PUBLISH_ENTITY, entity, app.getApplicationId()));
getDispatcher().getEventHandler().handle(
new ApplicationFinishPublishEvent(SystemMetricsEventType.
PUBLISH_APPLICATION_FINISHED_ENTITY, entity, app));
}
private Set<TimelineMetric> getTimelinelineAppMetrics(
@ -452,16 +453,16 @@ public class TimelineServiceV2Publisher extends AbstractSystemMetricsPublisher {
}
private class ApplicationFinishPublishEvent extends TimelineV2PublishEvent {
private RMAppImpl app;
private RMApp app;
public ApplicationFinishPublishEvent(SystemMetricsEventType type,
TimelineEntity entity, RMAppImpl app) {
TimelineEntity entity, RMApp app) {
super(type, entity, app.getApplicationId());
this.app = app;
}
public RMAppImpl getRMAppImpl() {
return app;
return (RMAppImpl) app;
}
}