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