Return-Path: X-Original-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Delivered-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 736597ECA for ; Tue, 1 Nov 2011 08:40:04 +0000 (UTC) Received: (qmail 73063 invoked by uid 500); 1 Nov 2011 08:40:04 -0000 Delivered-To: apmail-hadoop-hdfs-commits-archive@hadoop.apache.org Received: (qmail 73042 invoked by uid 500); 1 Nov 2011 08:40:04 -0000 Mailing-List: contact hdfs-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-dev@hadoop.apache.org Delivered-To: mailing list hdfs-commits@hadoop.apache.org Received: (qmail 73017 invoked by uid 99); 1 Nov 2011 08:40:02 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Nov 2011 08:40:02 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Nov 2011 08:39:55 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 039B3238897A; Tue, 1 Nov 2011 08:39:34 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1195870 - in /hadoop/common/branches/branch-0.22/hdfs: CHANGES.txt src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestSafeMode.java Date: Tue, 01 Nov 2011 08:39:33 -0000 To: hdfs-commits@hadoop.apache.org From: shv@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111101083934.039B3238897A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: shv Date: Tue Nov 1 08:39:33 2011 New Revision: 1195870 URL: http://svn.apache.org/viewvc?rev=1195870&view=rev Log: HDFS-2002. Incorrect computation of needed blocks in getTurnOffTip(). Contributed by Plamen Jeliazkov. Modified: hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java hadoop/common/branches/branch-0.22/hdfs/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestSafeMode.java Modified: hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt?rev=1195870&r1=1195869&r2=1195870&view=diff ============================================================================== --- hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt (original) +++ hadoop/common/branches/branch-0.22/hdfs/CHANGES.txt Tue Nov 1 08:39:33 2011 @@ -656,6 +656,9 @@ Release 0.22.0 - Unreleased HDFS-2491. TestBalancer can fail when datanode utilization and avgUtilization is exactly same. (Uma Maheswara Rao G via shv) + HDFS-2002. Incorrect computation of needed blocks in getTurnOffTip(). + (Plamen Jeliazkov via shv) + Release 0.21.1 - Unreleased IMPROVEMENTS Modified: hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java?rev=1195870&r1=1195869&r2=1195870&view=diff ============================================================================== --- hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java (original) +++ hadoop/common/branches/branch-0.22/hdfs/src/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java Tue Nov 1 08:39:33 2011 @@ -3842,6 +3842,9 @@ public class FSNamesystem implements FSC */ SafeModeInfo(Configuration conf) { this.threshold = conf.getFloat(DFSConfigKeys.DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_KEY, DFSConfigKeys.DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_DEFAULT); + if(threshold > 1.0) { + LOG.warn("The threshold value should't be greater than 1, threshold: " + threshold); + } this.datanodeThreshold = conf.getInt( DFSConfigKeys.DFS_NAMENODE_SAFEMODE_MIN_DATANODES_KEY, DFSConfigKeys.DFS_NAMENODE_SAFEMODE_MIN_DATANODES_DEFAULT); @@ -4054,7 +4057,7 @@ public class FSNamesystem implements FSC msg += String.format( "The reported blocks %d needs additional %d" + " blocks to reach the threshold %.4f of total blocks %d.", - blockSafe, (blockThreshold - blockSafe), threshold, blockTotal); + blockSafe, (blockThreshold - blockSafe) + 1, threshold, blockTotal); } if (numLive < datanodeThreshold) { if (!"".equals(msg)) { @@ -4063,7 +4066,7 @@ public class FSNamesystem implements FSC msg += String.format( "The number of live datanodes %d needs an additional %d live " + "datanodes to reach the minimum number %d.", - numLive, datanodeThreshold - numLive, datanodeThreshold); + numLive, (datanodeThreshold - numLive) + 1 , datanodeThreshold); } msg += " " + leaveMsg; } else { Modified: hadoop/common/branches/branch-0.22/hdfs/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestSafeMode.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.22/hdfs/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestSafeMode.java?rev=1195870&r1=1195869&r2=1195870&view=diff ============================================================================== --- hadoop/common/branches/branch-0.22/hdfs/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestSafeMode.java (original) +++ hadoop/common/branches/branch-0.22/hdfs/src/test/hdfs/org/apache/hadoop/hdfs/server/namenode/TestSafeMode.java Tue Nov 1 08:39:33 2011 @@ -58,8 +58,9 @@ public class TestSafeMode { String tipMsg = cluster.getNamesystem().getSafeModeTip(); assertTrue("Safemode tip message looks right", - tipMsg.contains("The number of live datanodes 0 needs an " + - "additional 1 live")); + tipMsg.contains("The number of live datanodes 0 needs an additional " + + "2 live datanodes to reach the minimum number 1. " + + "Safe mode will be turned off automatically.")); // Start a datanode cluster.startDataNodes(conf, 1, true, null, null);