in hbase-hbck2/src/main/java/org/apache/hbase/hbck1/HFileCorruptionChecker.java [512:566]
public void report(HBaseFsck.ErrorReporter out) {
out.print("Checked " + hfilesChecked.get() + " hfiles for corruption");
out.print(" Corrupt HFiles: " + corrupted.size());
if (inQuarantineMode) {
out.print(" Successfully Quarantined HFiles: " + quarantined.size());
for (Path sq : quarantined) {
out.print(" " + sq);
}
out.print(" Failed Quarantine HFiles: " + failures.size());
for (Path fq : failures) {
out.print(" " + fq);
}
}
out.print(" HFiles moved while checking: " + missing.size());
for (Path mq : missing) {
out.print(" " + mq);
}
String initialState = (corrupted.isEmpty()) ? "OK" : "CORRUPTED";
String fixedState = (corrupted.size() == quarantined.size()) ? "OK"
: "CORRUPTED";
if (inQuarantineMode) {
out.print("HFile Summary: " + initialState + " => " + fixedState);
} else {
out.print("HFile Summary: " + initialState);
}
// print mob-related report
out.print("Checked " + mobFilesChecked.get() + " MOB files for corruption");
out.print(" Corrupt MOB files: " + corruptedMobFiles.size());
if (inQuarantineMode) {
out.print(" Successfully Quarantined MOB files: " + quarantinedMobFiles.size());
for (Path sq : quarantinedMobFiles) {
out.print(" " + sq);
}
out.print(" Failed Quarantine MOB files: " + failureMobFiles.size());
for (Path fq : failureMobFiles) {
out.print(" " + fq);
}
}
out.print(" MOB files moved while checking: " + missedMobFiles.size());
for (Path mq : missedMobFiles) {
out.print(" " + mq);
}
String initialMobState = (corruptedMobFiles.isEmpty()) ? "OK" : "CORRUPTED";
String fixedMobState = (corruptedMobFiles.size() == quarantinedMobFiles.size()) ? "OK"
: "CORRUPTED";
if (inQuarantineMode) {
out.print("MOB summary: " + initialMobState + " => " + fixedMobState);
} else {
out.print("MOB summary: " + initialMobState);
}
}