[ https://issues.apache.org/jira/browse/HADOOP-12321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15029174#comment-15029174 ]
ASF GitHub Bot commented on HADOOP-12321: ----------------------------------------- GitHub user sunilgovind opened a pull request: https://github.com/apache/hadoop/pull/59 HADOOP-12321 Rebasing as per latest trunk, This is an aggregated patch with all changes together. You can merge this pull request into a Git repository by running: $ git pull https://github.com/sunilgovind/hadoop trunk Alternatively you can review and apply these changes as the patch at: https://github.com/apache/hadoop/pull/59.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #59 ---- commit 05fd3a01ad6a182b1e0a7612d034f14a1808b4a4 Author: Sunil G <sunil.gov...@gmail.com> Date: 2015-11-26T18:31:26Z HADOOP-12321 ---- > Make JvmPauseMonitor to AbstractService > --------------------------------------- > > Key: HADOOP-12321 > URL: https://issues.apache.org/jira/browse/HADOOP-12321 > Project: Hadoop Common > Issue Type: New Feature > Affects Versions: 2.8.0 > Reporter: Steve Loughran > Assignee: Sunil G > Attachments: 0001-HADOOP-12321.patch, 0002-HADOOP-12321.patch, > 0004-HADOOP-12321.patch, HADOOP-12321-003.patch, > HADOOP-12321-005-aggregated.patch > > Original Estimate: 1h > Remaining Estimate: 1h > > The new JVM pause monitor has been written with its own start/stop lifecycle > which has already proven brittle to both ordering of operations and, even > after HADOOP-12313, is not thread safe (both start and stop are potentially > re-entrant). > It also requires every class which supports the monitor to add another field > and perform the lifecycle operations in its own lifecycle, which, for all > Yarn services, is the YARN app lifecycle (as implemented in Hadoop common) > Making the monitor a subclass of {{AbstractService}} and moving the > init/start & stop operations in {{serviceInit()}}, {{serviceStart()}} & > {{serviceStop()}} methods will fix the concurrency and state model issues, > and make it trivial to add as a child to any YARN service which subclasses > {{CompositeService}} (most the NM and RM apps) will be able to hook up the > monitor simply by creating one in the ctor and adding it as a child. -- This message was sent by Atlassian JIRA (v6.3.4#6332)