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 36BB0FB92 for ; Wed, 17 Apr 2013 18:14:41 +0000 (UTC) Received: (qmail 79321 invoked by uid 500); 17 Apr 2013 18:14:41 -0000 Delivered-To: apmail-hadoop-hdfs-commits-archive@hadoop.apache.org Received: (qmail 79255 invoked by uid 500); 17 Apr 2013 18:14:41 -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 79247 invoked by uid 99); 17 Apr 2013 18:14:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Apr 2013 18:14:41 +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; Wed, 17 Apr 2013 18:14:38 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 0563C2388847; Wed, 17 Apr 2013 18:14:17 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1469018 - in /hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs: CHANGES.txt src/test/java/org/apache/hadoop/hdfs/server/namenode/TestEditLog.java Date: Wed, 17 Apr 2013 18:14:16 -0000 To: hdfs-commits@hadoop.apache.org From: suresh@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130417181417.0563C2388847@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: suresh Date: Wed Apr 17 18:14:16 2013 New Revision: 1469018 URL: http://svn.apache.org/r1469018 Log: HDFS-4695. Merge 1469015 from trunk Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestEditLog.java Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1469018&r1=1469017&r2=1469018&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original) +++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Wed Apr 17 18:14:16 2013 @@ -155,6 +155,9 @@ Release 2.0.5-beta - UNRELEASED HDFS-4639. startFileInternal() should not increment generation stamp. (Plamen Jeliazkov via shv) + HDFS-4695. TestEditLog leaks open file handles between tests. + (Ivan Mitic via suresh) + Release 2.0.4-alpha - UNRELEASED INCOMPATIBLE CHANGES Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestEditLog.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestEditLog.java?rev=1469018&r1=1469017&r2=1469018&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestEditLog.java (original) +++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestEditLog.java Wed Apr 17 18:14:16 2013 @@ -67,6 +67,7 @@ import org.apache.hadoop.hdfs.server.com import org.apache.hadoop.hdfs.server.namenode.NNStorage.NameNodeDirType; import org.apache.hadoop.hdfs.server.namenode.metrics.NameNodeMetrics; import org.apache.hadoop.hdfs.server.protocol.NamespaceInfo; +import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.test.GenericTestUtils; import org.apache.hadoop.util.StringUtils; import org.apache.hadoop.util.Time; @@ -627,6 +628,7 @@ public class TestEditLog { // Now restore the backup FileUtil.fullyDeleteContents(dfsDir); + dfsDir.delete(); backupDir.renameTo(dfsDir); // Directory layout looks like: @@ -753,19 +755,24 @@ public class TestEditLog { File log = new File(currentDir, NNStorage.getInProgressEditsFileName(3)); - new EditLogFileOutputStream(log, 1024).create(); - if (!inBothDirs) { - break; - } - - NNStorage storage = new NNStorage(conf, - Collections.emptyList(), - Lists.newArrayList(uri)); - - if (updateTransactionIdFile) { - storage.writeTransactionIdFileToStorage(3); + EditLogFileOutputStream stream = new EditLogFileOutputStream(log, 1024); + try { + stream.create(); + if (!inBothDirs) { + break; + } + + NNStorage storage = new NNStorage(conf, + Collections.emptyList(), + Lists.newArrayList(uri)); + + if (updateTransactionIdFile) { + storage.writeTransactionIdFileToStorage(3); + } + storage.close(); + } finally { + stream.close(); } - storage.close(); } try { @@ -1327,12 +1334,15 @@ public class TestEditLog { FSEditLog editlog = getFSEditLog(storage); editlog.initJournalsForWrite(); long startTxId = 1; + Collection streams = null; try { - readAllEdits(editlog.selectInputStreams(startTxId, 4*TXNS_PER_ROLL), - startTxId); + streams = editlog.selectInputStreams(startTxId, 4*TXNS_PER_ROLL); + readAllEdits(streams, startTxId); } catch (IOException e) { LOG.error("edit log failover didn't work", e); fail("Edit log failover didn't work"); + } finally { + IOUtils.cleanup(null, streams.toArray(new EditLogInputStream[0])); } } @@ -1373,12 +1383,15 @@ public class TestEditLog { FSEditLog editlog = getFSEditLog(storage); editlog.initJournalsForWrite(); long startTxId = 1; + Collection streams = null; try { - readAllEdits(editlog.selectInputStreams(startTxId, 4*TXNS_PER_ROLL), - startTxId); + streams = editlog.selectInputStreams(startTxId, 4*TXNS_PER_ROLL); + readAllEdits(streams, startTxId); } catch (IOException e) { LOG.error("edit log failover didn't work", e); fail("Edit log failover didn't work"); + } finally { + IOUtils.cleanup(null, streams.toArray(new EditLogInputStream[0])); } }