private void verifySynchronized(VM vm, final InternalDistributedMember crashedMember) {
    vm.invoke("check that synchronization happened", () -> {
      PartitionedRegion pr = (PartitionedRegion) testRegion;
      final BucketRegion bucket = pr.getDataStore().getLocalBucketById(0);

      await().until(() -> {
        if (testRegion.getCache().getDistributionManager().isCurrentMember(crashedMember)) {
          return false;
        }
        if (!testRegion.containsKey("Object3")) {
          return false;
        }
        RegionEntry re = bucket.getRegionMap().getEntry("Object5");
        if (re == null) {
          return false;
        }
        return re.isTombstone();
      });
    });
  }
We hit this problem in bug #45669. A primary was lost and we did not see secondary buckets
perform a delta-GII.
geode-core/src/distributedTest/java/org/apache/geode/cache30/PRBucketSynchronizationDUnitTest.java