You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by br...@apache.org on 2021/04/02 04:18:08 UTC
[hadoop] branch trunk updated: HDFS-15222. Correct the "hdfs fsck
-list-corruptfileblocks" command output. Contributed by Ravuri Sushma sree.
This is an automated email from the ASF dual-hosted git repository.
brahma pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new ed74479 HDFS-15222. Correct the "hdfs fsck -list-corruptfileblocks" command output. Contributed by Ravuri Sushma sree.
ed74479 is described below
commit ed74479ea56ba2113d40b32f28be5c963f2928fa
Author: Brahma Reddy Battula <br...@apache.org>
AuthorDate: Fri Apr 2 09:47:20 2021 +0530
HDFS-15222. Correct the "hdfs fsck -list-corruptfileblocks" command output. Contributed by Ravuri Sushma sree.
---
.../java/org/apache/hadoop/hdfs/tools/DFSck.java | 4 +--
.../hadoop/hdfs/TestClientReportBadBlock.java | 2 +-
.../hadoop/hdfs/server/namenode/TestFsck.java | 36 ++++++++++++----------
3 files changed, 23 insertions(+), 19 deletions(-)
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSck.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSck.java
index 8a2ef8b..db30133 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSck.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSck.java
@@ -227,7 +227,7 @@ public class DFSck extends Configured implements Tool {
continue;
numCorrupt++;
if (numCorrupt == 1) {
- out.println("The list of corrupt files under path '"
+ out.println("The list of corrupt blocks under path '"
+ dir + "' are:");
}
out.println(line);
@@ -237,7 +237,7 @@ public class DFSck extends Configured implements Tool {
}
}
out.println("The filesystem under path '" + dir + "' has "
- + numCorrupt + " CORRUPT files");
+ + numCorrupt + " CORRUPT blocks");
if (numCorrupt == 0)
errCode = 0;
return errCode;
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestClientReportBadBlock.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestClientReportBadBlock.java
index 935a639..2f5aa96 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestClientReportBadBlock.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestClientReportBadBlock.java
@@ -316,7 +316,7 @@ public class TestClientReportBadBlock {
String outStr = runFsck(conf, errorCode, true, filePath.toString(), "-list-corruptfileblocks");
LOG.info("fsck -list-corruptfileblocks out: " + outStr);
if (errorCode != 0) {
- Assert.assertTrue(outStr.contains("CORRUPT files"));
+ Assert.assertTrue(outStr.contains("CORRUPT blocks"));
}
}
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFsck.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFsck.java
index ca5a870..2c9075e 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFsck.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFsck.java
@@ -1136,7 +1136,7 @@ public class TestFsck {
String outStr = runFsck(conf, 0, false, "/corruptData",
"-list-corruptfileblocks");
System.out.println("1. good fsck out: " + outStr);
- assertTrue(outStr.contains("has 0 CORRUPT files"));
+ assertTrue(outStr.contains("has 0 CORRUPT blocks"));
// delete the blocks
final String bpid = cluster.getNamesystem().getBlockPoolId();
for (int i=0; i<4; i++) {
@@ -1159,19 +1159,19 @@ public class TestFsck {
waitForCorruptionBlocks(3, "/corruptData");
outStr = runFsck(conf, -1, true, "/corruptData", "-list-corruptfileblocks");
System.out.println("2. bad fsck out: " + outStr);
- assertTrue(outStr.contains("has 3 CORRUPT files"));
+ assertTrue(outStr.contains("has 3 CORRUPT blocks"));
// Do a listing on a dir which doesn't have any corrupt blocks and validate
util.createFiles(fs, "/goodData");
outStr = runFsck(conf, 0, true, "/goodData", "-list-corruptfileblocks");
System.out.println("3. good fsck out: " + outStr);
- assertTrue(outStr.contains("has 0 CORRUPT files"));
+ assertTrue(outStr.contains("has 0 CORRUPT blocks"));
util.cleanup(fs, "/goodData");
// validate if a directory have any invalid entries
util.createFiles(fs, "/corruptDa");
outStr = runFsck(conf, 0, true, "/corruptDa", "-list-corruptfileblocks");
- assertTrue(outStr.contains("has 0 CORRUPT files"));
+ assertTrue(outStr.contains("has 0 CORRUPT blocks"));
util.cleanup(fs, "/corruptData");
util.cleanup(fs, "/corruptDa");
}
@@ -2120,7 +2120,7 @@ public class TestFsck {
String outStr =
runFsck(conf, 0, false, "/corruptData", "-list-corruptfileblocks");
System.out.println("1. good fsck out: " + outStr);
- assertTrue(outStr.contains("has 0 CORRUPT files"));
+ assertTrue(outStr.contains("has 0 CORRUPT blocks"));
// delete the blocks
final String bpid = cluster.getNamesystem().getBlockPoolId();
for (int i=0; i<numFiles; i++) {
@@ -2150,14 +2150,14 @@ public class TestFsck {
"-list-corruptfileblocks", "-includeSnapshots");
System.out.println("2. bad fsck include snapshot out: " + outStr);
assertTrue(outStr
- .contains("has " + (numFiles + numSnapshots) + " CORRUPT files"));
+ .contains("has " + (numFiles + numSnapshots) + " CORRUPT blocks"));
assertTrue(outStr.contains("/.snapshot/"));
// without -includeSnapshots only non-snapshots are reported
outStr =
runFsck(conf, -1, true, "/corruptData", "-list-corruptfileblocks");
System.out.println("3. bad fsck exclude snapshot out: " + outStr);
- assertTrue(outStr.contains("has " + numFiles + " CORRUPT files"));
+ assertTrue(outStr.contains("has " + numFiles + " CORRUPT blocks"));
assertFalse(outStr.contains("/.snapshot/"));
}
@@ -2403,7 +2403,7 @@ public class TestFsck {
assertTrue(outStr.contains(NamenodeFsck.CORRUPT_STATUS));
assertTrue(outStr.contains("Under-erasure-coded block groups:\t0"));
outStr = runFsck(conf, -1, true, "/", "-list-corruptfileblocks");
- assertTrue(outStr.contains("has 1 CORRUPT files"));
+ assertTrue(outStr.contains("has 1 CORRUPT blocks"));
}
@Test (timeout = 300000)
@@ -2448,7 +2448,7 @@ public class TestFsck {
assertTrue(outStr.contains("Live_repl=" + (dataBlocks - 1)));
assertTrue(outStr.contains("Under-erasure-coded block groups:\t0"));
outStr = runFsck(conf, -1, true, "/", "-list-corruptfileblocks");
- assertTrue(outStr.contains("has 1 CORRUPT files"));
+ assertTrue(outStr.contains("has 1 CORRUPT blocks"));
}
private void waitForUnrecoverableBlockGroup(Configuration configuration)
@@ -2511,13 +2511,17 @@ public class TestFsck {
ugi.doAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- String path = "/";
- String outStr = runFsck(conf, -1, true, path, "-list-corruptfileblocks");
-
- assertFalse(outStr.contains("The list of corrupt files under path '" + path + "' are:"));
- assertFalse(outStr.contains("The filesystem under path '" + path + "' has "));
- assertTrue(outStr.contains("Failed to open path '" + path + "': Permission denied"));
- return null;
+ String path = "/";
+ String outStr =
+ runFsck(conf, -1, true, path, "-list-corruptfileblocks");
+
+ assertFalse(outStr.contains(
+ "The list of corrupt blocks under path '" + path + "' are:"));
+ assertFalse(
+ outStr.contains("The filesystem under path '" + path + "' has "));
+ assertTrue(outStr
+ .contains("Failed to open path '" + path + "': Permission denied"));
+ return null;
}
});
}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org