protected boolean shouldFlush(HStore store) {
    if (
      store.getMemStoreSize().getHeapSize() + store.getMemStoreSize().getOffHeapSize()
          > this.flushSizeLowerBound
    ) {
      LOG.debug(
        "Flush {} of {}; " + "heap memstoreSize={} +"
          + "off heap memstoreSize={} > memstore lowerBound={}",
        store.getColumnFamilyName(), region.getRegionInfo().getEncodedName(),
        store.getMemStoreSize().getHeapSize(), store.getMemStoreSize().getOffHeapSize(),
        this.flushSizeLowerBound);
      return true;
    }
    return false;
  }
A {@link FlushPolicy} that only flushes store larger a given threshold. If no store is large
enough, then all stores will be flushed.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/FlushLargeStoresPolicy.java