Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-10046

Unmonitored HBase service could accumulate Status objects and OOM

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.96.0, 0.94.14
    • Fix Version/s: 0.98.0, 0.96.1, 0.94.15
    • Component/s: monitoring
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      This was observed in a cluster where HBase Master UI was not monitored for quite a while. During this period, a distributed log spitting task failed in an in-completable way and Master kept recreating the task over and over again.

      And each such task would create a monitored status...

      SplitLogManager.java
      .......
        public long splitLogDistributed(final List<Path> logDirs, PathFilter filter) 
            throws IOException {
          MonitoredTask status = TaskMonitor.get().createStatus(
                "Doing distributed log split in " + logDirs);
      .......
      

      ...which kept accumulating on heap.

      Now these monitored tasks get cleaned only when someone looks at the service UI otherwise they keep growing boundless.

      The postmortem of the heap dump showed that these task object occupied 99% of HBase master heap accumulated over a week.

        Attachments

        1. HBASE-10046.patch
          2 kB
          Aditya Kishore
        2. HBASE-10046_0.94.patch
          1 kB
          Aditya Kishore

          Activity

            People

            • Assignee:
              adityakishore Aditya Kishore
              Reporter:
              adityakishore Aditya Kishore
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: