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

Mikhail Antonov commented on HBASE-15615:
-----------------------------------------

Yeah, the only place AsyncProcess uses retry counter is in ServerErrorTracker, 
and for our case in HTableMultiplexer this behavior won't change.

The only place in the code when we set retry number to 0 is this (HTM), and we 
don't want retries there anyway (in fact, we treat this number as one initial 
call + N retries, as we only check that on resubmits/failure receive).

And in RpcRetrying handler we so the same (no matter what, even if retry 
counter is negative, we try at least one). And yeah, we assume if people set 
client retry number to 0 in their configs they shouldn't expect their system to 
work :)

Ran all HTableMultiplexor tests (LargeTests), all passed. Patch for branch-1 v2 
(same as v4 for master, as on branch-1 we didn't have any counter magic in 
AsyncProcess), and master v4 looks good to me. +1, will commit tomorrow unless 
questions/objections ([~ghelmling] want to take another look?)

bq. Maybe we should open a new issue to fix HBASE_CLIENT_RETRIES_NUMBER?

What do you mean, fix the semantics of num_retries vs num_attempts? Yeah, I 
agree we can open separate jira for that.

> 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: 1.0.0, 2.0.0, 1.1.0, 1.2.0, 1.3.0, 0.98.19
>            Reporter: Guanghao Zhang
>            Assignee: Guanghao Zhang
>             Fix For: 1.3.0
>
>         Attachments: HBASE-15615-branch-0.98.patch, 
> HBASE-15615-branch-1.0-v2.patch, HBASE-15615-branch-1.1-v2.patch, 
> HBASE-15615-branch-1.1-v2.patch, HBASE-15615-branch-1.patch, 
> HBASE-15615-v1.patch, HBASE-15615-v1.patch, HBASE-15615-v2.patch, 
> HBASE-15615-v2.patch, HBASE-15615-v3.patch, HBASE-15615-v4.patch, 
> 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