@Override
      public void getScanners(MyStore store) throws IOException {
        try {
          // Here this method is called by StoreScanner.updateReaders which is invoked by the
          // following TestHStore.flushStore
          if (shouldWaitRef.get()) {
            // wait the following compaction Task start
            cyclicBarrier.await();
            // wait the following HStore.closeAndArchiveCompactedFiles end.
            cyclicBarrier.await();
          }
        } catch (BrokenBarrierException | InterruptedException e) {
          throw new RuntimeException(e);
        }
      }
This test is for HBASE-27519, when the {@link StoreScanner} is scanning,the Flush and the
Compaction execute concurrently and theCcompaction compact and archive the flushed
{@link HStoreFile} which is used by {@link StoreScanner#updateReaders}.Before
HBASE-27519,{@link StoreScanner.updateReaders} would throw {@link FileNotFoundException}.
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHStore.java