Repository: hadoop Updated Branches: refs/heads/trunk 0fa54d45b -> 215171683
http://git-wip-us.apache.org/repos/asf/hadoop/blob/21517168/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeRecovery.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeRecovery.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeRecovery.java index 0265a4d..87e2523 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeRecovery.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeRecovery.java @@ -27,6 +27,8 @@ import static org.mockito.Mockito.spy; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; +import java.util.ArrayList; +import java.util.Collection; import java.util.HashSet; import java.util.Set; @@ -50,13 +52,38 @@ import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.test.PathUtils; import org.apache.hadoop.util.StringUtils; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; import com.google.common.collect.Sets; /** * This tests data recovery mode for the NameNode. */ + +@RunWith(Parameterized.class) public class TestNameNodeRecovery { + @Parameters + public static Collection<Object[]> data() { + Collection<Object[]> params = new ArrayList<Object[]>(); + params.add(new Object[]{ Boolean.FALSE }); + params.add(new Object[]{ Boolean.TRUE }); + return params; + } + + private static boolean useAsyncEditLog; + public TestNameNodeRecovery(Boolean async) { + useAsyncEditLog = async; + } + + private static Configuration getConf() { + Configuration conf = new HdfsConfiguration(); + conf.setBoolean(DFSConfigKeys.DFS_NAMENODE_EDITS_ASYNC_LOGGING, + useAsyncEditLog); + return conf; + } + private static final Log LOG = LogFactory.getLog(TestNameNodeRecovery.class); private static final StartupOption recoverStartOpt = StartupOption.RECOVER; private static final File TEST_DIR = PathUtils.getTestDir(TestNameNodeRecovery.class); @@ -73,7 +100,7 @@ public class TestNameNodeRecovery { EditLogFileOutputStream elfos = null; EditLogFileInputStream elfis = null; try { - elfos = new EditLogFileOutputStream(new Configuration(), TEST_LOG_NAME, 0); + elfos = new EditLogFileOutputStream(getConf(), TEST_LOG_NAME, 0); elfos.create(NameNodeLayoutVersion.CURRENT_LAYOUT_VERSION); elts.addTransactionsToLog(elfos, cache); @@ -525,7 +552,7 @@ public class TestNameNodeRecovery { final boolean needRecovery = corruptor.needRecovery(finalize); // start a cluster - Configuration conf = new HdfsConfiguration(); + Configuration conf = getConf(); setupRecoveryTestConf(conf); MiniDFSCluster cluster = null; FileSystem fileSys = null; http://git-wip-us.apache.org/repos/asf/hadoop/blob/21517168/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestEditLogTailer.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestEditLogTailer.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestEditLogTailer.java index 5a104ad..30db429 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestEditLogTailer.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestEditLogTailer.java @@ -22,6 +22,8 @@ import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; import java.net.URI; +import java.util.ArrayList; +import java.util.Collection; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.permission.FsPermission; @@ -32,6 +34,7 @@ import org.apache.hadoop.hdfs.HAUtil; import org.apache.hadoop.hdfs.HdfsConfiguration; import org.apache.hadoop.hdfs.MiniDFSCluster; import org.apache.hadoop.hdfs.MiniDFSNNTopology; +import org.apache.hadoop.hdfs.server.namenode.FSEditLog; import org.apache.hadoop.hdfs.server.namenode.FSImage; import org.apache.hadoop.hdfs.server.namenode.NNStorage; import org.apache.hadoop.hdfs.server.namenode.NameNode; @@ -40,11 +43,31 @@ import org.apache.hadoop.net.ServerSocketUtil; import org.apache.hadoop.test.GenericTestUtils; import org.apache.log4j.Level; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; import com.google.common.base.Supplier; +@RunWith(Parameterized.class) public class TestEditLogTailer { - + static { + GenericTestUtils.setLogLevel(FSEditLog.LOG, Level.ALL); + } + + @Parameters + public static Collection<Object[]> data() { + Collection<Object[]> params = new ArrayList<Object[]>(); + params.add(new Object[]{ Boolean.FALSE }); + params.add(new Object[]{ Boolean.TRUE }); + return params; + } + + private static boolean useAsyncEditLog; + public TestEditLogTailer(Boolean async) { + useAsyncEditLog = async; + } + private static final String DIR_PREFIX = "/dir"; private static final int DIRS_TO_MAKE = 20; static final long SLEEP_TIME = 1000; @@ -52,13 +75,21 @@ public class TestEditLogTailer { static { GenericTestUtils.setLogLevel(FSImage.LOG, Level.ALL); + GenericTestUtils.setLogLevel(FSEditLog.LOG, Level.ALL); GenericTestUtils.setLogLevel(EditLogTailer.LOG, Level.ALL); } - + + private static Configuration getConf() { + Configuration conf = new HdfsConfiguration(); + conf.setBoolean(DFSConfigKeys.DFS_NAMENODE_EDITS_ASYNC_LOGGING, + useAsyncEditLog); + return conf; + } + @Test public void testTailer() throws IOException, InterruptedException, ServiceFailedException { - Configuration conf = new HdfsConfiguration(); + Configuration conf = getConf(); conf.setInt(DFSConfigKeys.DFS_HA_TAILEDITS_PERIOD_KEY, 1); conf.setInt(DFSConfigKeys.DFS_HA_TAILEDITS_ALL_NAMESNODES_RETRY_KEY, 100); @@ -122,7 +153,7 @@ public class TestEditLogTailer { private static void testStandbyTriggersLogRolls(int activeIndex) throws Exception { - Configuration conf = new Configuration(); + Configuration conf = getConf(); // Roll every 1s conf.setInt(DFSConfigKeys.DFS_HA_LOGROLL_PERIOD_KEY, 1); conf.setInt(DFSConfigKeys.DFS_HA_TAILEDITS_PERIOD_KEY, 1);