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

Wrong compaction report and assert when MOB compaction switches to minor

    XMLWordPrintableJSON

    Details

    • Hadoop Flags:
      Reviewed

      Description

      when zookeeper is down during a major compaction or a sweep tool run in progress, we switch to a minor.

      try {
        zk = MobZookeeper.newInstance(this.conf, compactionName);
      } catch (KeeperException e) {
        LOG.error("Cannot connect to the zookeeper, ready to perform the minor compaction instead", e);
        // change the major compaction into a minor one
        compaction.getRequest().setIsMajor(false);
        return super.compact(compaction);
      }
      

      but the "request start" (HRegion.reportCompactionRequestStart) is "major" and increments the major-compactions counter
      while the "request end" (HRegion.reportCompactionRequestEnd) is "minor" and decrements the minor-compactions counter
      triggering the assert newValue >= 0, since we are decrementing the wrong counter

        Attachments

        1. HBASE-12030_V3.patch
          13 kB
          Anoop Sam John
        2. HBASE-12030-V2.diff
          14 kB
          Jingcheng Du
        3. HBASE-12030.patch
          7 kB
          Anoop Sam John

          Activity

            People

            • Assignee:
              anoop.hbase Anoop Sam John
              Reporter:
              mbertozzi Matteo Bertozzi
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: