@Test
  public void testFPR_Persistence_OneMemberAlive() {
    vm0.invoke(() -> {
      createCache();
      new RegionBuilder<>()
          .addFixedPartitionAttributes(createFixedPartition(Q1.toString(), true, 3))
          .redundantCopies(0)
          .localMaxMemory(40)
          .totalNumBuckets(12)
          .partitionResolver(new QuarterFixedPartitionResolver<>())
          .persistent(true)
          .create(QUARTERS_REGION);
    });

    vm1.invoke(() -> {
      createCache();
      new RegionBuilder<>()
          .addFixedPartitionAttributes(createFixedPartition(Q2.toString(), true, 3))
          .redundantCopies(0)
          .localMaxMemory(40)
          .totalNumBuckets(12)
          .partitionResolver(new QuarterFixedPartitionResolver<>())
          .persistent(true)
          .create(QUARTERS_REGION);
    });

    vm0.invoke(() -> {
      putQuartersData(Q1);
      putQuartersData(Q2);
    });

    vm1.invoke(() -> {
      closeCache();
      createCache();
      new RegionBuilder<>()
          .addFixedPartitionAttributes(createFixedPartition(Q2.toString(), true, 3))
          .redundantCopies(0)
          .localMaxMemory(40)
          .totalNumBuckets(12)
          .partitionResolver(new QuarterFixedPartitionResolver<>())
          .persistent(true)
          .create(QUARTERS_REGION);

      validateQuartersData(Q2);
    });

    vm2.invoke(() -> {
      createCache();
      new RegionBuilder<>()
          .addFixedPartitionAttributes(createFixedPartition(Q3.toString(), true, 3))
          .redundantCopies(0)
          .localMaxMemory(40)
          .totalNumBuckets(12)
          .partitionResolver(new QuarterFixedPartitionResolver<>())
          .persistent(true)
          .create(QUARTERS_REGION);
    });

    vm3.invoke(() -> {
      createCache();
      new RegionBuilder<>()
          .addFixedPartitionAttributes(createFixedPartition(Q4.toString(), true, 3))
          .redundantCopies(0)
          .localMaxMemory(40)
          .totalNumBuckets(12)
          .partitionResolver(new QuarterFixedPartitionResolver<>())
          .persistent(true)
          .create(QUARTERS_REGION);
    });

    vm0.invoke(() -> putQuartersData());

    vm0.invoke(() -> validatePrimaryData(Q1));
    vm1.invoke(() -> validatePrimaryData(Q2));
    vm2.invoke(() -> validatePrimaryData(Q3));
    vm3.invoke(() -> validatePrimaryData(Q4));

    for (VM vm : asList(vm0, vm1, vm2, vm3)) {
      vm.invoke(() -> validatePrimaryBucketsForQuarters(3, 3));
    }
  }
Tests validate the behavior of FPR with persistence when one member is kept alive and other
members goes down and come up
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/fixed/FixedPartitioningWithColocationAndPersistenceDUnitTest.java