HDFS-3169. svn merge -c 1327776 from trunk

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1327777 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Eli Collins 2012-04-19 01:59:21 +00:00
parent f6a794ddd1
commit 1909c7a056
2 changed files with 15 additions and 9 deletions

View File

@ -262,6 +262,9 @@ Release 2.0.0 - UNRELEASED
HDFS-3206. Miscellaneous xml cleanups for OEV. HDFS-3206. Miscellaneous xml cleanups for OEV.
(Colin Patrick McCabe via eli) (Colin Patrick McCabe via eli)
HDFS-3169. TestFsck should test multiple -move operations in a row.
(Colin Patrick McCabe via eli)
OPTIMIZATIONS OPTIMIZATIONS
HDFS-2477. Optimize computing the diff between a block report and the HDFS-2477. Optimize computing the diff between a block report and the

View File

@ -228,6 +228,7 @@ public class TestFsck extends TestCase {
} }
public void testFsckMoveAndDelete() throws Exception { public void testFsckMoveAndDelete() throws Exception {
final int MAX_MOVE_TRIES = 5;
DFSTestUtil util = new DFSTestUtil("TestFsck", 5, 3, 8*1024); DFSTestUtil util = new DFSTestUtil("TestFsck", 5, 3, 8*1024);
MiniDFSCluster cluster = null; MiniDFSCluster cluster = null;
FileSystem fs = null; FileSystem fs = null;
@ -269,17 +270,19 @@ public class TestFsck extends TestCase {
} }
// After a fsck -move, the corrupted file should still exist. // After a fsck -move, the corrupted file should still exist.
outStr = runFsck(conf, 1, true, "/", "-move" ); for (int i = 0; i < MAX_MOVE_TRIES; i++) {
assertTrue(outStr.contains(NamenodeFsck.CORRUPT_STATUS)); outStr = runFsck(conf, 1, true, "/", "-move" );
String[] newFileNames = util.getFileNames(topDir); assertTrue(outStr.contains(NamenodeFsck.CORRUPT_STATUS));
boolean found = false; String[] newFileNames = util.getFileNames(topDir);
for (String f : newFileNames) { boolean found = false;
if (f.equals(corruptFileName)) { for (String f : newFileNames) {
found = true; if (f.equals(corruptFileName)) {
break; found = true;
break;
}
} }
assertTrue(found);
} }
assertTrue(found);
// Fix the filesystem by moving corrupted files to lost+found // Fix the filesystem by moving corrupted files to lost+found
outStr = runFsck(conf, 1, true, "/", "-move", "-delete"); outStr = runFsck(conf, 1, true, "/", "-move", "-delete");