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

Duo Zhang commented on HBASE-29232:
-----------------------------------

Skimmed the code, for some critical opertions like flushing table, we have a 
master side procedure for it.

For compacting table, since it only sends the requests to region servers, it is 
not very critical, we could just fail the operation for the specific region.

For flushing and compacting region, I think we could implement relocating logic.

The only strange thing is flush region server, where we first fetch all regions 
on the region server and call flush region one by one, maybe we should 
introduce a flush method for region server to flush all regions on it...

> Some region operations like compact/flush in async admin can not handle 
> region movement correctly
> -------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-29232
>                 URL: https://issues.apache.org/jira/browse/HBASE-29232
>             Project: HBase
>          Issue Type: Improvement
>          Components: asyncclient, Client
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>
> WHen running ITBLL, I found that if the region is moved during some actions, 
> the operation will retry forever.
> The problem is that, when constructing AsyncAdminRequestRetryingCaller, we 
> will pass the server name in. This is not a problem when we do some region 
> server specific operations, like get metrics from region server, but for 
> region operations, since it could be moved, retrying on the same region 
> server does not help.
> At least we should fail the request without retrying until reaching the limit 
> when hitting NotServingRegionException, or we should implement region 
> relocating logic here. 



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

Reply via email to