Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 43B43FAB2 for ; Mon, 8 Apr 2013 17:39:17 +0000 (UTC) Received: (qmail 57121 invoked by uid 500); 8 Apr 2013 17:39:17 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 57088 invoked by uid 500); 8 Apr 2013 17:39:16 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 57079 invoked by uid 99); 8 Apr 2013 17:39:16 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Apr 2013 17:39:16 +0000 Date: Mon, 8 Apr 2013 17:39:16 +0000 (UTC) From: "Ted Yu (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-8285) HBaseClient never recovers for single HTable.get() calls with no retries when regions move MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-8285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13625583#comment-13625583 ] Ted Yu commented on HBASE-8285: ------------------------------- Patch looks good. > 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-0.94-v2.txt, 8285-trunk.txt, 8285-trunk-v2.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