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

Duo Zhang updated HBASE-28196:
------------------------------
    Release Note: 
For ServerCrashProcedure, TransitRegionStateProcedure and related region 
assignment procedures like OpenRegionProcedure/CloseRegionProcedure, now we 
will try our best to release the procedure worker when doing time consuming 
operations. Including:

1. When updating region state to hbase:meta. We will use async client to get a 
CompletableFuture, and then suspend the procedure. When the CompletableFuture 
is done, we add the procedure back.
2. When acquiring region state node lock, if we can not get the lock 
immediately, we will also suspend the procedure and release the procedure 
worker. Once it is our turn to get the lock, we will add the procedure back.

In this way, if meta is offline, it is not likely that the assign procedures 
will consume all the procedure workers and cause dead lock. You can see 
HBASE-19976 for more detailed description about this problem.

  was:
For ServerCrashProcedure, TransitRegionStateProcedure and related region 
assignment procedures like OpenRegionProcedure/CloseRegionProcedure, now we 
will try our best to release the procedure worker when doing time consuming 
operation. Including:

1. When updating region state to hbase:meta. We will use async client to get a 
CompletableFuture, and then suspend the procedure. When the CompletableFuture 
is done, we add the procedure back.
2. When acquiring region state node lock, if we can not get the lock 
immediately, we will also suspend the procedure and release the procedure 
worker. Once it is our turn to get the lock, we will add the procedure back.

In this way, if meta is offline, it is not likely that the assign procedures 
will consume all the procedure workers and cause dead lock. You can see 
HBASE-19976 for more detailed description about this problem.


> Yield SCP and TRSP when they are blocked
> ----------------------------------------
>
>                 Key: HBASE-28196
>                 URL: https://issues.apache.org/jira/browse/HBASE-28196
>             Project: HBase
>          Issue Type: Improvement
>          Components: master, MTTR, proc-v2, Region Assignment
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0-beta-1
>
>




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

Reply via email to