[
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)