You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (JIRA)" <ji...@apache.org> on 2019/02/12 12:20:00 UTC

[jira] [Commented] (HBASE-21875) Change the retry logic in RSProcedureDispatcher to 'retry by default, only if xxx'

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

Duo Zhang commented on HBASE-21875:
-----------------------------------

[~sershe] FYI.

The patch is for branch-2.2+ only as I removed the OpenRegionRemoteCall and CloseRegionRemoteCall. We do not need to be compatible with 1.x regionservers, as the possible rolling upgrading way is to upgrade region server first.

For branch-2.1 and branch-2.0, it is a bit different. We will execute openRegion and closeRegion directly in the executeProcedures method, so if there is an error while opening/closing a region, the previous executed successful opening/closing will also be considered as failure and cause problems. IIRC, [~allan163] proposed a patch to always use OpenRegionRemoteCall and CloseRegionRemoteCall to open/close regions. And for opening/closing regions call, I'm not sure whether it is safe to change the retry behavior here as the code is much more complicated than executeProcedures, and we may call reportTransition directly in openRegion/closeRegion method, not sure if we could introduce dead lock if we change the behavior.

So I tend to only apply the change to branch-2.2+. And we should release 2.2.0 ASAP. Ping [~zghaobac].

Thanks.

> Change the retry logic in RSProcedureDispatcher to 'retry by default, only if xxx'
> ----------------------------------------------------------------------------------
>
>                 Key: HBASE-21875
>                 URL: https://issues.apache.org/jira/browse/HBASE-21875
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0, 2.2.0, 2.3.0
>
>         Attachments: HBASE-21875.patch
>
>
> For now it is not retry by default, only if xxx.
> In executeProcedures, we will only throw a fixed set of exception, so we should change to retry by default, and check for the exceptions which we do not need to retry.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)