Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-12321

Make JvmPauseMonitor an AbstractService

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.8.0
    • Fix Version/s: 2.9.0, 3.0.0-alpha1
    • Component/s: None
    • Labels:
      None
    • Target Version/s:

      Description

      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.

        Attachments

        1. HADOOP-12321-005-aggregated.patch
          19 kB
          Sunil Govindan
        2. HADOOP-12321-003.patch
          17 kB
          Steve Loughran
        3. 0004-HADOOP-12321.patch
          6 kB
          Sunil Govindan
        4. 0002-HADOOP-12321.patch
          4 kB
          Sunil Govindan
        5. 0001-HADOOP-12321.patch
          4 kB
          Sunil Govindan

          Issue Links

            Activity

              People

              • Assignee:
                sunilg Sunil Govindan
                Reporter:
                stevel@apache.org Steve Loughran
              • Votes:
                0 Vote for this issue
                Watchers:
                17 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 1h
                  1h
                  Remaining:
                  Remaining Estimate - 1h
                  1h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified