hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15658) RegionServerCallable / RpcRetryingCaller clear meta cache on retries
Date Wed, 27 Apr 2016 06:53:12 GMT

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

Hudson commented on HBASE-15658:
--------------------------------

SUCCESS: Integrated in HBase-1.3-IT #636 (See [https://builds.apache.org/job/HBase-1.3-IT/636/])
HBASE-15658 Avoid excess meta cache clearing for RegionServerCallable (garyh: rev 3b0d8fe655346540778b3bfc1b1fbfb132757441)
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionServerCallable.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaCache.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetricsConnection.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCaller.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaCache.java


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

Mime
View raw message