[
https://issues.apache.org/jira/browse/HBASE-8285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13625496#comment-13625496
]
Varun Sharma commented on HBASE-8285:
-------------------------------------
For Nicholas' comment - prefer to handle RegionMovedException in a separate
JIRA since that is trunk specific and does not apply to 0.94, as far as i
know...
> HBaseClient never recovers for single HTable.get() calls with no retries when
> regions move
> ------------------------------------------------------------------------------------------
>
> Key: HBASE-8285
> URL: https://issues.apache.org/jira/browse/HBASE-8285
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 0.94.6.1
> Reporter: Varun Sharma
> Assignee: Varun Sharma
> Priority: Critical
> Fix For: 0.98.0, 0.94.7, 0.95.1
>
> Attachments: 8285-0.94.txt, 8285-trunk.txt
>
>
> Steps to reproduce this bug:
> 1) Gracefull restart a region server causing regions to get redistributed.
> 2) Client call to this region keeps failing since Meta Cache is never purged
> on the client for the region that moved.
> Reason behind the bug:
> 1) Client continues to hit the old region server.
> 2) The old region server throws NotServingRegionException which is not
> handled correctly and the META cache entries are never purged for that server
> causing the client to keep hitting the old server.
> The reason lies in ServerCallable code since we only purge META cache entries
> when there is a RetriesExhaustedException, SocketTimeoutException or
> ConnectException. However, there is no case check for
> NotServingRegionException(s).
> Why is this not a problem for Scan(s) and Put(s) ?
> a) If a region server is not hosting a region/scanner, then an
> UnknownScannerException is thrown which causes a relocateRegion() call
> causing a refresh of the META cache for that particular region.
> b) For put(s), the processBatchCallback() interface in HConnectionManager is
> used which clears out META cache entries for all kinds of exceptions except
> DoNotRetryException.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira