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 AD4FDE275 for ; Tue, 8 Jan 2013 17:58:13 +0000 (UTC) Received: (qmail 59513 invoked by uid 500); 8 Jan 2013 17:58:13 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 59470 invoked by uid 500); 8 Jan 2013 17:58:13 -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 59459 invoked by uid 99); 8 Jan 2013 17:58:13 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 08 Jan 2013 17:58:13 +0000 Date: Tue, 8 Jan 2013 17:58:13 +0000 (UTC) From: "Jimmy Xiang (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-7506) Judgment of carrying ROOT/META will become wrong when expiring server 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-7506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13547056#comment-13547056 ] Jimmy Xiang commented on HBASE-7506: ------------------------------------ The only reason we have MetaServerShutdownHandler is because of the event type: EventType.M_META_SERVER_SHUTDOWN. ServerShutdownHandler already has an event type member variable. If isCarryingRoot/isCarryingMeta is useful, it makes sense to have MetaServerShutdownHandler. Now since they are not used any more, why do we still need this class? bq. ROOT won't be in RIT, because we offline it Make sense. That means we should not verify any more, right? > Judgment of carrying ROOT/META will become wrong when expiring server > --------------------------------------------------------------------- > > Key: HBASE-7506 > URL: https://issues.apache.org/jira/browse/HBASE-7506 > Project: HBase > Issue Type: Bug > Affects Versions: 0.94.3 > Reporter: chunhui shen > Assignee: chunhui shen > Fix For: 0.96.0 > > Attachments: 7506-trunk v1.patch > > > We will check whether server carrying ROOT/META when expiring the server. > See ServerManager#expireServer. > If the dead server carrying META, we assign meta directly in the process of ServerShutdownHandler. > If the dead server carrying ROOT, we will offline ROOT and then verifyAndAssignRootWithRetries() > How judgement of carrtying ROOT/META become wrong? > If region is in RIT, and isCarryingRegion() return true after addressing from zk. > However, once RIT time out(could be caused by this.allRegionServersOffline && !noRSAvailable, see AssignmentManager#TimeoutMonitor) and we assign it to otherwhere, this judgement become wrong. > See AssignmentManager#isCarryingRegion for details > With the wrong judgement of carrtying ROOT/META, we would assign ROOT/META twice. -- 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