@Test
  public void testRemoteUpdates() {
    vm0.invoke(this::createRegionWithEvictionOverflow);
    vm1.invoke(this::createRegionWithEvictionOverflow);

    vm0.invoke(() -> {
      Region region = cacheRule.getCache().getRegion(uniqueName);
      EvictionCounters evictionCounters = getEvictionCounters(region);
      int i;
      for (i = 0; evictionCounters.getEvictions() <= 0; i++) {
        region.put(i, new short[250]);
      }

      assertThat(i).isGreaterThan(5);
    });

    vm1.invoke(() -> {
      Region region = cacheRule.getCache().getRegion(uniqueName);
      for (int i = 0; i < 10; i++) {
        region.put(i, new int[250]);
      }
    });

    vm0.invoke(() -> {
      Region region = cacheRule.getCache().getRegion(uniqueName);
      EvictionCounters evictionCounters = getEvictionCounters(region);

      await("waiting for evictions to exceed 6")
          .until(() -> evictionCounters.getEvictions() > 6);
    });

    vm0.invoke(() -> {
      Region region = cacheRule.getCache().getRegion(uniqueName);
      for (int i = 0; i < 10000; i++) {
        region.put(String.valueOf(i), String.valueOf(i).getBytes());
      }
    });

    vm1.invoke(() -> {
      Region region = cacheRule.getCache().getRegion(uniqueName);
      for (int i = 0; i < 10000; i++) {
        byte[] bytes = (byte[]) region.get(String.valueOf(i));

        assertThat(new String(bytes)).isEqualTo(String.valueOf(i));
      }
    });
  }
Makes sure that updates from other VMs cause existing entries to be written to disk.
geode-core/src/distributedTest/java/org/apache/geode/cache30/DiskRegionDistributedTest.java