@Test
  public void testAsyncModeAllowOperationToProceedEvenIfDiskSpaceIsNotSufficient() {
    int[] dirSizes = {2048};

    DiskRegionProperties diskRegionProperties = new DiskRegionProperties();
    diskRegionProperties.setDiskDirsAndSizes(new File[] {diskDirs[0]}, dirSizes);
    diskRegionProperties.setPersistBackup(true);
    diskRegionProperties.setRolling(true);
    diskRegionProperties.setCompactionThreshold(100);
    diskRegionProperties.setMaxOplogSize(100000000);
    diskRegionProperties.setBytesThreshold(1000000);
    diskRegionProperties.setTimeInterval(1500000);
    diskRegionProperties.setRegionName(regionName);

    DiskStoreFactory diskStoreFactory = toDiskStoreFactory(diskRegionProperties);

    DiskStore diskStore =
        createDiskStoreWithSizeInBytes(diskStoreName, diskStoreFactory, 100_000_000);

    Region<Object, Object> region =
        createRegion(regionName, diskStoreName, true, false, false, false, 0);

    assertThat(diskStore.getDiskDirSizes()).isEqualTo(dirSizes);

    // puts should not fail even after surpassing disk dir sizes
    byte[] value = new byte[990];
    Arrays.fill(value, (byte) 77);
    region.put(0, value);
    region.put(1, value);
    region.put(2, value);

    region.close();
  }
DiskAccessException Test : Even if rolling doesn't free the space in stipulated time, the
operation should not get stuck or see Exception
geode-core/src/integrationTest/java/org/apache/geode/internal/cache/DiskRegionJUnitTest.java