[ 
https://issues.apache.org/jira/browse/HBASE-15658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary Helmling updated HBASE-15658:
----------------------------------
    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

This has been committed to 1.3.0+.

[~busbey] if you want this in 1.2, let me know and I will do a backport JIRA.  
It should apply without any changes.

> RegionServerCallable / RpcRetryingCaller clear meta cache on retries
> --------------------------------------------------------------------
>
>                 Key: HBASE-15658
>                 URL: https://issues.apache.org/jira/browse/HBASE-15658
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client
>    Affects Versions: 1.2.1
>            Reporter: Gary Helmling
>            Assignee: Gary Helmling
>            Priority: Critical
>             Fix For: 2.0.0, 1.3.0, 1.4.0
>
>         Attachments: hbase-15658.001.patch, hbase-15658.002.patch, 
> hbase-15658.branch-1.3.001.patch
>
>
> When RpcRetryingCaller.callWithRetries() attempts a retry, it calls 
> RetryingCallable.prepare(tries != 0).  For RegionServerCallable (and probably 
> others), this will wind up calling 
> RegionLocator.getRegionLocation(reload=true), which will drop the meta cache 
> for the given region and always go back to meta.
> This is kind of silly, since in the case of exceptions, we already call 
> RetryingCallable.throwable(), which goes to great pains to only refresh the 
> meta cache when necessary.  Since we are already doing this on failure, I 
> don't really understand why we are doing duplicate work to refresh the meta 
> cache on prepare() at all.



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

Reply via email to