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

Chia-Ping Tsai commented on HBASE-18390:
----------------------------------------

{noformat}
There is an interesting side effect: the client is informed immediately that 
the regionserver died, so immediately goes to .meta. As the recovery is not 
done, .meta. contains the same (dead) location, so the client fails again and 
comes back immediately to .meta. => We're hammering .meta. now. The easy fix is 
to add a ~10s sleep on the client. A possibly better fix from a mttr point of 
view would be to have the master sending messages to say that a server recovery 
is finished. I will go for the former first.
{noformat}
What do you think about the comment from HBASE-7590? Does the side effect come 
back after this patch is merged? If no, +1 from me.

> Sleep too long when finding region location failed
> --------------------------------------------------
>
>                 Key: HBASE-18390
>                 URL: https://issues.apache.org/jira/browse/HBASE-18390
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.3.1, 1.2.6, 1.1.11, 2.0.0-alpha-1
>            Reporter: Phil Yang
>            Assignee: Phil Yang
>             Fix For: 3.0.0, 1.4.0, 1.3.2, 1.2.7, 2.0.0-alpha-2, 1.1.12
>
>         Attachments: HBASE-18390.v01.patch, HBASE-18390.v02.patch, 
> HBASE-18390.v03.patch
>
>
> If RegionServerCallable#prepare failed when getRegionLocation, the location 
> in this callable object is null. And before we retry we will sleep. However, 
> when location is null we will sleep at least 10 seconds. And the request will 
> be failed directly if operation timeout is less than 10 seconds. I think it 
> is no need to keep MIN_WAIT_DEAD_SERVER logic. Use backoff sleeping logic is 
> ok for most cases.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to