commit b24797f1e832037e5b7b83d78c579d5878428fbf Author: nspiegelberg Date: 25 seconds ago HBASE-3690 Option to Exclude Bulk Import Files from Minor Compaction diff --git a/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java b/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java index a7e2720..c8558f3 100644 --- a/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java +++ b/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java @@ -894,6 +894,17 @@ public class Store implements HeapSize { int start = 0; double r = this.compactRatio; + // exclude bulk import files from minor compactions, if configured + if (conf.getBoolean("hbase.hstore.compaction.exclude.bulk", false)) { + filesToCompact.removeAll(Collections2.filter(filesToCompact, + new Predicate() { + @Override + public boolean apply(StoreFile input) { + return input.isBulkLoadResult(); + } + })); + } + /* TODO: add sorting + unit test back in when HBASE-2856 is fixed // Sort files by size to correct when normal skew is altered by bulk load. Collections.sort(filesToCompact, StoreFile.Comparators.FILE_SIZE);