diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index c0df4bf..daeacb3 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -1444,7 +1444,14 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi // close each store in parallel for (final Store store : stores.values()) { - assert abort || store.getFlushableSize() == 0 || writestate.readOnly; + long flushableSize = store.getFlushableSize(); + if (!(abort || flushableSize == 0 || writestate.readOnly)) { + getRegionServerServices().abort("Assertion failed while closing store " + + getRegionNameAsString() + " " + store + ". flushableSize expected=0, " + + "actual= " + flushableSize + ". Current memstoreSize=" + getMemstoreSize().get() + + ". Maybe a coprocessor operation failed and left the memstore in a partially " + + "updated state.", null); + } completionService .submit(new Callable>>() { @Override