@Override
      public void run() {
        try {
          LOG.info("Starting region operation holder");
          region.startRegionOperation(Operation.SCAN);
          LOG.info("Protecting against interrupts");
          region.disableInterrupts();
          try {
            latch.countDown();
            try {
              Thread.sleep(SLEEP_TIME);
            } catch (InterruptedException e) {
              LOG.info("Interrupted");
              holderInterrupted.set(true);
            }
          } finally {
            region.enableInterrupts();
          }
        } catch (Exception e) {
          throw new RuntimeException(e);
        } finally {
          try {
            region.closeRegionOperation();
          } catch (IOException e) {
          }
          LOG.info("Stopped region operation holder");
        }
      }
HStoreForTesting is merely the same as HStore, the difference is in the doCompaction method of
HStoreForTesting there is a checkpoint "hbase.hstore.compaction.complete" which doesn't let
hstore compaction complete. In the former edition, this config is set in HStore class inside
compact method, though this is just for testing, otherwise it doesn't do any help. In
HBASE-8518, we try to get rid of all "hbase.hstore.compaction.complete" config (except for
testing code).
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java