Return-Path: Delivered-To: apmail-hadoop-core-commits-archive@www.apache.org Received: (qmail 68073 invoked from network); 16 Jun 2008 19:15:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Jun 2008 19:15:20 -0000 Received: (qmail 10158 invoked by uid 500); 16 Jun 2008 19:15:23 -0000 Delivered-To: apmail-hadoop-core-commits-archive@hadoop.apache.org Received: (qmail 10022 invoked by uid 500); 16 Jun 2008 19:15:22 -0000 Mailing-List: contact core-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: core-dev@hadoop.apache.org Delivered-To: mailing list core-commits@hadoop.apache.org Received: (qmail 10013 invoked by uid 99); 16 Jun 2008 19:15:22 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Jun 2008 12:15:22 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.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; Mon, 16 Jun 2008 19:14:41 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 81BC123889F3; Mon, 16 Jun 2008 12:14:29 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r668264 - in /hadoop/core/trunk: CHANGES.txt src/hdfs/org/apache/hadoop/dfs/FSImage.java src/test/org/apache/hadoop/dfs/TestDFSStorageStateRecovery.java Date: Mon, 16 Jun 2008 19:14:29 -0000 To: core-commits@hadoop.apache.org From: shv@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080616191429.81BC123889F3@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: shv Date: Mon Jun 16 12:14:28 2008 New Revision: 668264 URL: http://svn.apache.org/viewvc?rev=668264&view=rev Log: HADOOP-3363. Fix unformatted storage detection in FSImage. Contributed by Konstantin Shvachko. Modified: hadoop/core/trunk/CHANGES.txt hadoop/core/trunk/src/hdfs/org/apache/hadoop/dfs/FSImage.java hadoop/core/trunk/src/test/org/apache/hadoop/dfs/TestDFSStorageStateRecovery.java Modified: hadoop/core/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/core/trunk/CHANGES.txt?rev=668264&r1=668263&r2=668264&view=diff ============================================================================== --- hadoop/core/trunk/CHANGES.txt (original) +++ hadoop/core/trunk/CHANGES.txt Mon Jun 16 12:14:28 2008 @@ -596,6 +596,8 @@ HADOOP-3548. Fixes build.xml to copy all *.jar files to the dist. (Owen O'Malley via ddas) + HADOOP-3363. Fix unformatted storage detection in FSImage. (shv) + Release 0.17.0 - 2008-05-18 INCOMPATIBLE CHANGES Modified: hadoop/core/trunk/src/hdfs/org/apache/hadoop/dfs/FSImage.java URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/hdfs/org/apache/hadoop/dfs/FSImage.java?rev=668264&r1=668263&r2=668264&view=diff ============================================================================== --- hadoop/core/trunk/src/hdfs/org/apache/hadoop/dfs/FSImage.java (original) +++ hadoop/core/trunk/src/hdfs/org/apache/hadoop/dfs/FSImage.java Mon Jun 16 12:14:28 2008 @@ -562,9 +562,12 @@ boolean isConversionNeeded(StorageDirectory sd) throws IOException { File oldImageDir = new File(sd.root, "image"); - if (!oldImageDir.exists()) - throw new InconsistentFSStateException(sd.root, - oldImageDir + " does not exist."); + if (!oldImageDir.exists()) { + if(sd.getVersionFile().exists()) + throw new InconsistentFSStateException(sd.root, + oldImageDir + " does not exist."); + return false; + } // check the layout version inside the image file File oldF = new File(oldImageDir, "fsimage"); RandomAccessFile oldFile = new RandomAccessFile(oldF, "rws"); Modified: hadoop/core/trunk/src/test/org/apache/hadoop/dfs/TestDFSStorageStateRecovery.java URL: http://svn.apache.org/viewvc/hadoop/core/trunk/src/test/org/apache/hadoop/dfs/TestDFSStorageStateRecovery.java?rev=668264&r1=668263&r2=668264&view=diff ============================================================================== --- hadoop/core/trunk/src/test/org/apache/hadoop/dfs/TestDFSStorageStateRecovery.java (original) +++ hadoop/core/trunk/src/test/org/apache/hadoop/dfs/TestDFSStorageStateRecovery.java Mon Jun 16 12:14:28 2008 @@ -37,7 +37,7 @@ private static final Log LOG = LogFactory.getLog( "org.apache.hadoop.dfs.TestDFSStorageStateRecovery"); - private Configuration conf; + private Configuration conf = null; private int testCounter = 0; private MiniDFSCluster cluster = null; @@ -197,8 +197,15 @@ try { cluster = new MiniDFSCluster(conf, 0, StartupOption.REGULAR); throw new AssertionError("NameNode should have failed to start"); - } catch (Exception expected) { - // expected + } catch (IOException expected) { + // the exception is expected + // check that the message says "not formatted" + // when storage directory is empty (case #5) + if(!testCases[i][0] && !testCases[i][2] + && !testCases[i][1] && !testCases[i][3]) { + assertTrue(expected.getLocalizedMessage().contains( + "NameNode is not formatted")); + } } }