Index: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (revision 1465591) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (working copy) @@ -1255,7 +1255,7 @@ *

This method may block for some time, so it should not be called from a * time-sensitive thread. * - * @return true if cache was flushed + * @return true if the region needs compacting * * @throws IOException general io exceptions * @throws DroppedSnapshotException Thrown when replay of hlog is required Index: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (revision 1465591) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (working copy) @@ -3466,7 +3466,12 @@ } FlushRegionResponse.Builder builder = FlushRegionResponse.newBuilder(); if (shouldFlush) { - builder.setFlushed(region.flushcache()); + boolean shouldCompact = region.flushcache(); + if (shouldCompact) { + this.compactSplitThread.requestCompaction(region, + "Compaction through user triggered flush"); + } + builder.setFlushed(shouldCompact); } builder.setLastFlushTime(region.getLastFlushTime()); return builder.build();