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

Under compaction mark may leak

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.0.0-alpha-2, 2.4.12
    • 2.6.0, 2.5.1, 3.0.0-alpha-4
    • Compaction
    • None
    • Reviewed

    Description

      HBASE-26249 introduced an under compaction mark to reduce repeatedly compactions for the same stores for a short period of time after bulk loading files.

      Since the mark adding and removing are in difference threads,

      pool.execute(
        new CompactionRunner(store, region, compaction, tracker, completeTracker, pool, user));
      if (LOG.isDebugEnabled()) {
        LOG.debug(
          "Add compact mark for store {}, priority={}, current under compaction "
            + "store size is {}",
          getStoreNameForUnderCompaction(store), priority, underCompactionStores.size());
      }
      underCompactionStores.add(getStoreNameForUnderCompaction(store)); 

       it happens that the concurrently of thread-1 using underCompactionStores.add() and thread-2 which running a CompactionRunner that using underCompactionStores.remove(). If the removing happens before adding, the mark will leak.

      Attachments

        Issue Links

          Activity

            People

              Xiaolin Ha Xiaolin Ha
              Xiaolin Ha Xiaolin Ha
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: