[ 
https://issues.apache.org/jira/browse/HBASE-27152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17583993#comment-17583993
 ] 

Xiaolin Ha commented on HBASE-27152:
------------------------------------

Hi, [~zhangduo] , it's an issue about the pool.submit and pool.execute. I have 
pushed a fix PR: [https://github.com/apache/hbase/pull/4725] , thanks. 

> 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: 3.0.0-alpha-2, 2.4.12
>            Reporter: Xiaolin Ha
>            Assignee: Xiaolin Ha
>            Priority: Major
>             Fix For: 2.5.1, 3.0.0-alpha-4
>
>
> 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.10#820010)

Reply via email to