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 007CC11B32 for ; Wed, 2 Jul 2014 16:04:27 +0000 (UTC) Received: (qmail 521 invoked by uid 500); 2 Jul 2014 16:04:26 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 478 invoked by uid 500); 2 Jul 2014 16:04:26 -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 467 invoked by uid 99); 2 Jul 2014 16:04:26 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Jul 2014 16:04:26 +0000 Date: Wed, 2 Jul 2014 16:04:26 +0000 (UTC) From: "Ted Yu (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-11405) Multiple invocations of hbck in parallel disables balancer permanently 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-11405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14050256#comment-14050256 ] Ted Yu commented on HBASE-11405: -------------------------------- {code} + HBCK_LOCK_PATH = new Path(new Path(FSUtils.getRootDir(getConf()), + HConstants.HBASE_TEMP_DIRECTORY), BALANCER_LOCK_FILE); {code} The lock file is used by hbck. Should the name of lock file reflect this ? {code} + // Make sure tmp dir exists, if not create it + fs.mkdirs(new Path(FSUtils.getRootDir(getConf()), HConstants.HBASE_TEMP_DIRECTORY)); {code} Check the return value from mkdirs(). {code} + setRetCode(-1); + LOG.info("Another balancer is running - Exiting this instance"); {code} log level should be error above. > Multiple invocations of hbck in parallel disables balancer permanently > ----------------------------------------------------------------------- > > Key: HBASE-11405 > URL: https://issues.apache.org/jira/browse/HBASE-11405 > Project: HBase > Issue Type: Bug > Components: Balancer, hbck > Affects Versions: 0.99.0 > Reporter: bharath v > Attachments: HBASE-11405-trunk.patch > > > This is because of the following piece of code in hbck > {code:borderStyle=solid} > boolean oldBalancer = admin.setBalancerRunning(false, true); > try { > onlineConsistencyRepair(); > } > finally { > admin.setBalancerRunning(oldBalancer, false); > } > {code} > Newer invocations set oldBalancer to false as it was disabled by previous invocations and this disables balancer permanently unless its manually turned on by the user. Easy to reproduce, just run hbck 100 times in a loop in 2 different sessions and you can see that balancer is set to false in the HMaster logs. -- This message was sent by Atlassian JIRA (v6.2#6252)