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

Guanghao Zhang commented on HBASE-15615:
----------------------------------------

[~mwarhaftig] Thanks for your comment. IMO all subclasses implementing 
RetryingCallable should have the unified implemention about backoff time when 
retry. So the config of hbase.client.pause and hbase.client.retries number will 
have the same meaning for all client operation.

One question: RetryingCaller get pause time by RetryingCallable.sleep(pause, 
tries + 1),why RetryingCaller use tries + 1, too?  RETRY_BACKOFF[0] will never 
be used.

> Wrong sleep time when RegionServerCallable need retry
> -----------------------------------------------------
>
>                 Key: HBASE-15615
>                 URL: https://issues.apache.org/jira/browse/HBASE-15615
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 2.0.0
>            Reporter: Guanghao Zhang
>            Assignee: Guanghao Zhang
>         Attachments: HBASE-15615.patch
>
>
> In RpcRetryingCallerImpl, it get pause time by expectedSleep = 
> callable.sleep(pause, tries + 1); And in RegionServerCallable, it get pasue 
> time by sleep = ConnectionUtils.getPauseTime(pause, tries + 1). So tries will 
> be bumped up twice. And the pasue time is 3 * hbase.client.pause when tries 
> is 0.
> RETRY_BACKOFF = {1, 2, 3, 5, 10, 20, 40, 100, 100, 100, 100, 200, 200}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to