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

Duo Zhang resolved HBASE-28683.
-------------------------------
    Fix Version/s: 2.7.0
                   3.0.0-beta-2
                   2.6.1
                   2.5.10
     Hadoop Flags: Reviewed
       Resolution: Fixed

Pushed to all active branches.

Thanks [~vjasani] for reviewing!

> Only allow one TableProcedureInterface for a single table to run at the same 
> time for some special procedure types
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-28683
>                 URL: https://issues.apache.org/jira/browse/HBASE-28683
>             Project: HBase
>          Issue Type: Improvement
>          Components: master, proc-v2
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Critical
>              Labels: pull-request-available
>             Fix For: 2.7.0, 3.0.0-beta-2, 2.6.1, 2.5.10
>
>
> We have a table lock in the MasterProcedureScheduler, which is designed to 
> only allow one procedure to run at the same time when they require exclusive 
> lock.
> But there is a problem that for availability, usually we can not always hold 
> the exclusive lock through the whole procedure life time, as if so, we can 
> not execute region assignment for this table too. The solution is to set 
> holdLock to false, which means we will release the table lock after one 
> execution cycle.
> In this way, it is possible that different table procedures may execute at 
> the same time, which could mess things up.
> Especially that, in HBASE-28522, we find out that it is even impossible for 
> DisableTableProcedure to hold the exclusive lock all the time. If the steps 
> for DisableTableProcedure can be overlapped with other procedures like 
> ModifyTableProcedure or even EnableTableProcedure, things will be 
> definationly messed up...
> So we need to find another way to ensure that for a single table, only one of 
> these procedures can be executed at the same time.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to