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

Sergey Shelukhin commented on HBASE-8299:
-----------------------------------------

Current case definitely doesn't work like that, see needsComaction 
implementation. Its semantics is more like mayNeedCompaction, a cheap check, 
and request actually does the heavy lifting. 
And code expects request to not request anything - that can happen both due to 
logic of the policy, and due to coprocessor overrides, or concurrent compaction 
requests from coprocessors.
That seems like reasonable logic for me, making it possible to call the method 
speculatively when region opens/memstore flushes/compaction finishes (for 
schemes that may require multiple compactions like level or stripe).
Force flag (or method) can solve the forcing compaction issue here.
Otherwise needsCompaction basically needs to be true to requestCompaction 
implementation (at least).

                
> ExploringCompactionPolicy can get stuck in rare cases.
> ------------------------------------------------------
>
>                 Key: HBASE-8299
>                 URL: https://issues.apache.org/jira/browse/HBASE-8299
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.95.1
>            Reporter: Elliott Clark
>            Assignee: Elliott Clark
>         Attachments: HBASE-8299-0.patch
>
>
> If the files are very oddly sized then it's possible that 
> ExploringCompactionPolicy can get stuck.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to