HDFS-4291. edit log unit tests leave stray test_edit_log_file around. Contributed by Colin Patrick McCabe.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1419663 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Todd Lipcon 2012-12-10 18:54:59 +00:00
parent 103eff1fad
commit 8114bcc6d3
3 changed files with 11 additions and 12 deletions

View File

@ -588,6 +588,9 @@ Release 2.0.3-alpha - Unreleased
HDFS-4279. NameNode does not initialize generic conf keys when started HDFS-4279. NameNode does not initialize generic conf keys when started
with -recover. (Colin Patrick McCabe via atm) with -recover. (Colin Patrick McCabe via atm)
HDFS-4291. edit log unit tests leave stray test_edit_log_file around
(Colin Patrick McCabe via todd)
BREAKDOWN OF HDFS-3077 SUBTASKS BREAKDOWN OF HDFS-3077 SUBTASKS
HDFS-3077. Quorum-based protocol for reading and writing edit logs. HDFS-3077. Quorum-based protocol for reading and writing edit logs.

View File

@ -1209,22 +1209,19 @@ public boolean accept(File dir, String name) {
* *
*/ */
static void validateNoCrash(byte garbage[]) throws IOException { static void validateNoCrash(byte garbage[]) throws IOException {
final String TEST_LOG_NAME = "test_edit_log"; final File TEST_LOG_NAME = new File(TEST_DIR, "test_edit_log");
EditLogFileOutputStream elfos = null; EditLogFileOutputStream elfos = null;
File file = null;
EditLogFileInputStream elfis = null; EditLogFileInputStream elfis = null;
try { try {
file = new File(TEST_LOG_NAME); elfos = new EditLogFileOutputStream(TEST_LOG_NAME, 0);
elfos = new EditLogFileOutputStream(file, 0);
elfos.create(); elfos.create();
elfos.writeRaw(garbage, 0, garbage.length); elfos.writeRaw(garbage, 0, garbage.length);
elfos.setReadyToFlush(); elfos.setReadyToFlush();
elfos.flushAndSync(true); elfos.flushAndSync(true);
elfos.close(); elfos.close();
elfos = null; elfos = null;
file = new File(TEST_LOG_NAME); elfis = new EditLogFileInputStream(TEST_LOG_NAME);
elfis = new EditLogFileInputStream(file);
// verify that we can read everything without killing the JVM or // verify that we can read everything without killing the JVM or
// throwing an exception other than IOException // throwing an exception other than IOException

View File

@ -59,6 +59,8 @@
public class TestNameNodeRecovery { public class TestNameNodeRecovery {
private static final Log LOG = LogFactory.getLog(TestNameNodeRecovery.class); private static final Log LOG = LogFactory.getLog(TestNameNodeRecovery.class);
private static StartupOption recoverStartOpt = StartupOption.RECOVER; private static StartupOption recoverStartOpt = StartupOption.RECOVER;
private static final File TEST_DIR = new File(
System.getProperty("test.build.data","build/test/data"));
static { static {
recoverStartOpt.setForce(MetaRecoveryContext.FORCE_ALL); recoverStartOpt.setForce(MetaRecoveryContext.FORCE_ALL);
@ -66,15 +68,13 @@ public class TestNameNodeRecovery {
} }
static void runEditLogTest(EditLogTestSetup elts) throws IOException { static void runEditLogTest(EditLogTestSetup elts) throws IOException {
final String TEST_LOG_NAME = "test_edit_log"; final File TEST_LOG_NAME = new File(TEST_DIR, "test_edit_log");
final OpInstanceCache cache = new OpInstanceCache(); final OpInstanceCache cache = new OpInstanceCache();
EditLogFileOutputStream elfos = null; EditLogFileOutputStream elfos = null;
File file = null;
EditLogFileInputStream elfis = null; EditLogFileInputStream elfis = null;
try { try {
file = new File(TEST_LOG_NAME); elfos = new EditLogFileOutputStream(TEST_LOG_NAME, 0);
elfos = new EditLogFileOutputStream(file, 0);
elfos.create(); elfos.create();
elts.addTransactionsToLog(elfos, cache); elts.addTransactionsToLog(elfos, cache);
@ -82,8 +82,7 @@ static void runEditLogTest(EditLogTestSetup elts) throws IOException {
elfos.flushAndSync(true); elfos.flushAndSync(true);
elfos.close(); elfos.close();
elfos = null; elfos = null;
file = new File(TEST_LOG_NAME); elfis = new EditLogFileInputStream(TEST_LOG_NAME);
elfis = new EditLogFileInputStream(file);
// reading through normally will get you an exception // reading through normally will get you an exception
Set<Long> validTxIds = elts.getValidTxIds(); Set<Long> validTxIds = elts.getValidTxIds();