Zhijie Shen commented on YARN-3334:

Hi Junping, some more comments on the latest patch.

1. Do you really need this sophisticated thread pool termination logic? Or can 
we just set its thread as daemon?

2. getTimelineClient and getTimelineClients can be removed from Context and 

3. Change log level to error?
628                   LOG.warn("Exception in ContainersMonitorImpl in putting " 
629                       "resource usage metrics to timeline service.", e);

4. If timeline service is not enable, it will result in NPE.
-      app.context.getKnownCollectors().remove(app.getAppId());
+      // stop timelineClient when application get finished.
+      TimelineClient timelineClient = app.getTimelineClient();
+      timelineClient.stop();

> [Event Producers] NM TimelineClient life cycle handling and container metrics 
> posting to new timeline service.
> --------------------------------------------------------------------------------------------------------------
>                 Key: YARN-3334
>                 URL: https://issues.apache.org/jira/browse/YARN-3334
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: nodemanager
>    Affects Versions: YARN-2928
>            Reporter: Junping Du
>            Assignee: Junping Du
>         Attachments: YARN-3334-demo.patch, YARN-3334-v1.patch, 
> YARN-3334-v2.patch, YARN-3334-v3.patch, YARN-3334-v4.patch
> After YARN-3039, we have service discovery mechanism to pass app-collector 
> service address among collectors, NMs and RM. In this JIRA, we will handle 
> service address setting for TimelineClients in NodeManager, and put container 
> metrics to the backend storage.

This message was sent by Atlassian JIRA

Reply via email to