[ https://issues.apache.org/jira/browse/YARN-4129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Naganarasimha G R updated YARN-4129: ------------------------------------ Attachment: YARN-4129.YARN-2928.001.patch Hi [~djp] & [~sjlee0], Similar to the approach followed in NM side (YARN-3045), i have modified for RM side too. Have modified the approach as follows * Extract all the public methods of SystemMetricPublisher to a interface and kept the interface name same SystemMetricsPublisher (or can modify to any other if suggested) * create 2 implementations of ithe interface, one for V1 and one for V2, thus if some events need not be handled then particular version implementation can just ignore and return back * In the specific implementation, if required to publish an timeline event/entity, they can create it and set to a common async event and give it to Asyncdispatcher to dispatch. * specific handlers are created for V1 & V2 to publish the events I am attaching a patch for this issue. Please review. > Refactor the SystemMetricPublisher in RM to better support newer events > ----------------------------------------------------------------------- > > Key: YARN-4129 > URL: https://issues.apache.org/jira/browse/YARN-4129 > Project: Hadoop YARN > Issue Type: Sub-task > Components: resourcemanager > Reporter: Naganarasimha G R > Assignee: Naganarasimha G R > Attachments: YARN-4129.YARN-2928.001.patch > > > Currently to add new timeline event/ entity in RM side, one has to add a > method in publisher and a method in handler and create a new event class > which looks cumbersome and redundant. also further all the events might not > be required to be published in V1 & V2. So adopting the approach similar to > what was adopted in YARN-3045(NM side) -- This message was sent by Atlassian JIRA (v6.3.4#6332)