@Test
  public void testFaultingInRemovalFromAsyncBuffer() throws Exception {
    DiskRegionProperties diskRegionProperties = new DiskRegionProperties();
    diskRegionProperties.setOverflow(true);
    diskRegionProperties.setRolling(true);
    diskRegionProperties.setOverFlowCapacity(100);
    diskRegionProperties.setDiskDirs(diskDirs);

    DiskStoreFactory diskStoreFactory = toDiskStoreFactory(diskRegionProperties);

    createDiskStoreWithSizeInBytes(diskStoreName, diskStoreFactory);

    Region<Integer, Integer> region =
        createRegion(regionName, diskStoreName, false, true, false, true, 100);

    CountDownLatch doLatch = new CountDownLatch(1);
    DelayedGet get = new DelayedGet(doLatch, region);

    CompletableFuture<Void> getter1 = executorServiceRule.runAsync(get);
    CompletableFuture<Void> getter2 = executorServiceRule.runAsync(get);
    CompletableFuture<Void> getter3 = executorServiceRule.runAsync(get);
    CompletableFuture<Void> getter4 = executorServiceRule.runAsync(get);
    CompletableFuture<Void> getter5 = executorServiceRule.runAsync(get);

    for (int i = 0; i < 110; i++) {
      region.put(i, i);
    }

    doLatch.countDown();

    CompletableFuture.allOf(getter1, getter2, getter3, getter4, getter5).get(2, MINUTES);
  }
test method for putting different objects and validating that they have been correctly put
geode-core/src/integrationTest/java/org/apache/geode/internal/cache/DiskRegionJUnitTest.java