From ba20d4df8ced17e175d6a1d57982559d4dce79cd Mon Sep 17 00:00:00 2001 From: Patrick White Date: Thu, 9 Oct 2014 12:41:35 -0700 Subject: [PATCH] HBASE-12271 Add counters for files skipped during snapshot export Add counters for skipped files Signed-off-by: Elliott Clark --- .../apache/hadoop/hbase/snapshot/ExportSnapshot.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/ExportSnapshot.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/ExportSnapshot.java index 59cd9e709d5..51dac3c320b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/ExportSnapshot.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/ExportSnapshot.java @@ -113,7 +113,10 @@ public class ExportSnapshot extends Configured implements Tool { private static final String INPUT_FOLDER_PREFIX = "export-files."; // Export Map-Reduce Counters, to keep track of the progress - public enum Counter { MISSING_FILES, COPY_FAILED, BYTES_EXPECTED, BYTES_COPIED, FILES_COPIED }; + public enum Counter { + MISSING_FILES, FILES_COPIED, FILES_SKIPPED, COPY_FAILED, + BYTES_EXPECTED, BYTES_SKIPPED, BYTES_COPIED + } private static class ExportMapper extends Mapper { @@ -169,6 +172,10 @@ public class ExportSnapshot extends Configured implements Tool { int defaultBlockSize = Math.max((int) outputFs.getDefaultBlockSize(outputRoot), BUFFER_SIZE); bufferSize = conf.getInt(CONF_BUFFER_SIZE, defaultBlockSize); LOG.info("Using bufferSize=" + StringUtils.humanReadableInt(bufferSize)); + + for (Counter c : Counter.values()) { + context.getCounter(c).increment(0); + } } @Override @@ -242,6 +249,8 @@ public class ExportSnapshot extends Configured implements Tool { FileStatus outputStat = outputFs.getFileStatus(outputPath); if (outputStat != null && sameFile(inputStat, outputStat)) { LOG.info("Skip copy " + inputStat.getPath() + " to " + outputPath + ", same file."); + context.getCounter(Counter.FILES_SKIPPED).increment(1); + context.getCounter(Counter.BYTES_SKIPPED).increment(inputStat.getLen()); return; } }