@Test
  @Parameters({"true, false", "false, false", "true, true"})
  @TestCaseName("{method}(useKrf={0}, expireTombstones={1})")
  public void testRecoveryStats(boolean useKrf, boolean expireTombstones) throws Exception {
    VM memberVM1 = memberVMs[0];

    createPersistentRegionAsync(memberVM1, useKrf, expireTombstones).await();

    String key1 = "key1";
    String key2 = "key2";
    String value11 = "value12";
    String value12 = "value12";
    String value2 = "value2";

    putEntry(memberVM1, key1, value11);
    putEntry(memberVM1, key2, value2);
    updateEntry(memberVM1, key1, value11);
    deleteEntry(memberVM1, key1);

    if (expireTombstones) {
      forceGC(memberVM1, 1);
    }

    memberVM1.invoke("stop server", () -> {
      Cache cache = managementTestRule.getCache();
      cache.close();
    });

    createPersistentRegionAsync(memberVM1, useKrf, expireTombstones).await();

    verifyRecoveryStats(memberVM1, true);

    verifyRecoveryEntriesStats(memberVM1, useKrf, expireTombstones);

    // Check to make sure we recovered the old values of the entries.
    memberVM1.invoke("check for the entries", () -> {
      Cache cache = managementTestRule.getCache();
      Region region = cache.getRegion(REGION_NAME);
      assertThat(region.get(key1)).isEqualTo(null);
      assertThat(region.get(key2)).isEqualTo(value2);
    });
  }
Checks that after a restart of a server the JMX stats
for oplog recovery are updated accordingly.
geode-core/src/distributedTest/java/org/apache/geode/management/DiskManagementDUnitTest.java