@Override
    public void run() {
      try {
        region.close();
        synchronized (region) {
          region.notify();
          hasBeenNotified = true;
        }
      } catch (Exception e) {
        logWriter.error("Exception occurred", e);
        testFailed = true;
        failureCause =
            "Exception occurred when it was not supposed to occur, due to " + e + "in Close::run";
        fail("Exception occurred when it was not supposed to occur, due to " + e);
      }
    }
A region close is done after flush is over. The close is done in a separate thread and a 3000
ms wait is put to ensure that the separate thread has closed the region
geode-core/src/integrationTest/java/org/apache/geode/internal/cache/ConcurrentFlushingAndRegionOperationsJUnitTest.java