[ 
https://issues.apache.org/jira/browse/HBASE-24942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang resolved HBASE-24942.
-------------------------------
    Fix Version/s: 2.3.2
                   2.4.0
     Hadoop Flags: Reviewed
       Resolution: Fixed

Pushed to branch-2.3+.

Thanks [~stack] for reviewing.

> MergeTableRegionsProcedure should not call clean merge region
> -------------------------------------------------------------
>
>                 Key: HBASE-24942
>                 URL: https://issues.apache.org/jira/browse/HBASE-24942
>             Project: HBase
>          Issue Type: Improvement
>          Components: proc-v2, Region Assignment
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0-alpha-1, 2.4.0, 2.3.2
>
>
> In MergeTableRegionsProcedure, we will call 
> CatalogJanitor.cleanMergeQualifier to test whether the regions we want to 
> merge still have merge qualifier. If so we will skip merge.
> But the problem is that, in cleanMergeQualifier, we will call 
> cleanMergeRegion, where we may schedule GCMultipleMergedRegionsProcedure to 
> actually clean the merged regions.
> I think the intention here is to speed up the cleaning of merged region. 
> CatalogJanitor, we have a alreadyRunning guard to prevent multiple scan at 
> the same time, to prevent scheduling duplicated 
> GCMultipleMergedRegionsProcedure for the same region. But if we call 
> cleanMergeQualifier directly from MergeTableRegionsProcedure, we may schedule 
> duplicated GCMultipleMergedRegionsProcedure as there is no guard to prevent 
> CatalogJanitor to run at the same time.
> And there is also another problem that, even if you disable CatalogJanitor, 
> which means you want to stop cleaning meta, a call from 
> MergeTableRegionsProcedure could still clean the records in meta...
> So I think here we should just check the qualifiers. If there are merge 
> qualifiers we just skip merging, without scheduling any procedures.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to