Xiaolin Ha created HBASE-27152:
----------------------------------

             Summary: Under compaction mark may leak
                 Key: HBASE-27152
                 URL: https://issues.apache.org/jira/browse/HBASE-27152
             Project: HBase
          Issue Type: Bug
          Components: Compaction
    Affects Versions: 2.4.12, 3.0.0-alpha-2
            Reporter: Xiaolin Ha
            Assignee: Xiaolin Ha
             Fix For: 2.6.0, 3.0.0-alpha-4, 2.4.14


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,
{code:java}
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)); {code}
 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.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to