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

Unmonitored HBase service could accumulate Status objects and OOM

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.96.0, 0.94.14
    • 0.98.0, 0.96.1, 0.94.15
    • monitoring
    • None
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: