HDFS-7361. TestCheckpoint fails after change of log message related to locking violation. Contributed by Konstantin Shvachko.

This commit is contained in:
Konstantin V Shvachko 2014-11-05 20:23:13 -08:00
parent e26be1d85c
commit 74d40b3d9e
2 changed files with 9 additions and 4 deletions

View File

@ -86,6 +86,9 @@ Release 2.7.0 - UNRELEASED
HDFS-7333. Improve logging in Storage.tryLock(). (shv)
HDFS-7361. TestCheckpoint fails after change of log message related to
locking violation. (shv)
OPTIMIZATIONS
BUG FIXES

View File

@ -846,7 +846,7 @@ public class TestCheckpoint {
}
/**
* Test that, an attempt to lock a storage that is already locked by a nodename,
* Test that, an attempt to lock a storage that is already locked by nodename,
* logs error message that includes JVM name of the namenode that locked it.
*/
@Test
@ -862,16 +862,18 @@ public class TestCheckpoint {
savedSd = sd;
}
LogCapturer logs = GenericTestUtils.LogCapturer.captureLogs(LogFactory.getLog(Storage.class));
LogCapturer logs = GenericTestUtils.LogCapturer.captureLogs(
LogFactory.getLog(Storage.class));
try {
// try to lock the storage that's already locked
savedSd.lock();
fail("Namenode should not be able to lock a storage that is already locked");
fail("Namenode should not be able to lock a storage" +
" that is already locked");
} catch (IOException ioe) {
// cannot read lock file on Windows, so message cannot get JVM name
String lockingJvmName = Path.WINDOWS ? "" :
" " + ManagementFactory.getRuntimeMXBean().getName();
String expectedLogMessage = "It appears that another namenode"
String expectedLogMessage = "It appears that another node "
+ lockingJvmName + " has already locked the storage directory";
assertTrue("Log output does not contain expected log message: "
+ expectedLogMessage, logs.getOutput().contains(expectedLogMessage));