@Test
  public void testCompactorRegionMapDeletedForOnlyDrfOplogAfterCompactionNotDoneDueToLiveCountZero()
      throws InterruptedException {

    createDiskStore(5, 10000);
    Region<Object, Object> region = createRegion();
    DiskStoreImpl diskStore = ((InternalRegion) region).getDiskStore();

    // Create several oplog files (.crf and .drf) by executing put operations in defined range
    executePutsInRange0_299(region);
    await().untilAsserted(() -> assertThat(getCurrentNumberOfOplogs(diskStore)).isEqualTo(5));

    // Do multiple put and destroy operations to hit the scenario in which there are 0
    // live entries are in Oplog just before compaction is triggered.
    destroyEveryFifthElementInRange0_299PutAndDestroyInRange300_599(region);

    await().untilAsserted(() -> assertThat(isOplogToBeCompactedAvailable(diskStore)).isFalse());

    await().untilAsserted(
        () -> assertThat(areAllUnnecessaryObjectClearedForOnlyDrfOplog(diskStore)).isTrue());
  }
Verifies that the unnecessary memory is cleared when operational log (.crf and .drf) is
compacted. This test case covers the following scenario:

1. Create several Oplog files (.crf, .drf and .krf) by executing put operations
2. Execute destroy operation for every fifth entry from previous step, and each time add and
destroy new entry. This will result with Oplogs that have 0 live entries at the moment when
they are rolled out. These Oplogs will be closed early since compaction doesn't have to be
done for them. When Oplog is closed early the .crf files will be deleted, but .drf files will
not because they contain deletes.
3. Check that unnecessary objects are cleared for theOplog that represents orphaned .drf
file (no accompanying .crf and .krf file)
geode-core/src/integrationTest/java/org/apache/geode/internal/cache/DiskRegionCompactorClearsObjectThatAreNoLongerNeededIntegrationTest.java