This is an automated email from the ASF dual-hosted git repository.
meszibalu pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.3 by this push:
new 876a2cd HBASE-25146 Add extra logging at info level to
HFileCorruptionChecker in order to report progress (#2503)
876a2cd is described below
commit 876a2cde9f76f85e429c7a150af9886ac69bc90a
Author: Andor Molnár <[email protected]>
AuthorDate: Tue Oct 6 09:38:18 2020 +0200
HBASE-25146 Add extra logging at info level to HFileCorruptionChecker in
order to report progress (#2503)
Signed-off-by: Wellington Chevreuil <[email protected]>
Signed-off-by: Mate Szalay-Beko <[email protected]>
Signed-off-by: Balazs Meszaros <[email protected]>
---
.../hadoop/hbase/util/hbck/HFileCorruptionChecker.java | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git
a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.java
index 9a398f2..6a6c530 100644
---
a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.java
+++
b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.java
@@ -50,6 +50,7 @@ import org.apache.yetus.audience.InterfaceAudience;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
/**
* This class marches through all of the region's hfiles and verifies that
* they are all valid files. One just needs to instantiate the class, use
@@ -180,6 +181,9 @@ public class HFileCorruptionChecker {
missing.add(cfDir);
return;
}
+
+ LOG.info("Checking Column Family Directory {}. Number of entries = {}",
cfDir, hfs.size());
+
for (FileStatus hfFs : hfs) {
Path hf = hfFs.getPath();
checkHFile(hf);
@@ -213,6 +217,9 @@ public class HFileCorruptionChecker {
missedMobFiles.add(cfDir);
return;
}
+
+ LOG.info("Checking MOB Column Family Directory {}. Number of entries =
{}", cfDir, hfs.size());
+
for (FileStatus hfFs : hfs) {
Path hf = hfFs.getPath();
checkMobFile(hf);
@@ -284,6 +291,9 @@ public class HFileCorruptionChecker {
missedMobFiles.add(regionDir);
return;
}
+
+ LOG.info("Checking MOB Region Directory {}. Number of entries = {}",
regionDir, hfs.length);
+
for (FileStatus hfFs : hfs) {
Path hf = hfFs.getPath();
checkMobColFamDir(hf);
@@ -318,6 +328,8 @@ public class HFileCorruptionChecker {
return;
}
+ LOG.info("Checking Region Directory {}. Number of entries = {}",
regionDir, cfs.size());
+
for (FileStatus cfFs : cfs) {
Path cfDir = cfFs.getPath();
checkColFamDir(cfDir);
@@ -342,6 +354,8 @@ public class HFileCorruptionChecker {
return;
}
+ LOG.info("Checking Table Directory {}. Number of entries (including mob) =
{}", tableDir, rds.size() + 1);
+
// Parallelize check at the region dir level
List<RegionDirChecker> rdcs = new ArrayList<>(rds.size() + 1);
List<Future<Void>> rdFutures;
@@ -546,6 +560,8 @@ public class HFileCorruptionChecker {
: "CORRUPTED";
// print mob-related report
+ out.print("Checked " + mobFilesChecked.get() + " Mob files for
corruption");
+ out.print(" Mob files corrupted: " +
corruptedMobFiles.size());
if (inQuarantineMode) {
out.print(" Mob files successfully quarantined: " +
quarantinedMobFiles.size());
for (Path sq : quarantinedMobFiles) {