@Test
  public void testMultiIndexCreation() {
    // Create a Local Region.
    Host host = Host.getHost(0);
    VM vm0 = host.getVM(1);
    setCacheInVMs(vm0);
    vm0.invoke(helper.getCacheSerializableRunnableForReplicatedRegionCreation(regionName));

    ArrayList<String> names = new ArrayList<>();
    names.add(indexName);
    names.add(rindexName);

    ArrayList<String> exps = new ArrayList<>();
    exps.add(indexedExpression);
    exps.add(rindexedExpression);

    ArrayList<String> fromClauses = new ArrayList<>();
    fromClauses.add(fromClause);
    fromClauses.add(rfromClause);

    vm0.invoke(
        helper.getCacheSerializableRunnableForDefineIndex(regionName, names, exps, fromClauses));

    AsyncInvocation<?>[] asyncInvs = new AsyncInvocation[2];

    asyncInvs[0] =
        vm0.invokeAsync(helper.getCacheSerializableRunnableForPRRandomOps(regionName, 0, stepSize));

    asyncInvs[1] =
        vm0.invokeAsync(helper.getCacheSerializableRunnableForPRRandomOps(regionName, 0, stepSize));

    for (AsyncInvocation<?> inv : asyncInvs) {
      ThreadUtils.join(inv, 30 * 000);
    }

    for (AsyncInvocation<?> inv : asyncInvs) {
      if (inv.exceptionOccurred()) {
        Assert.fail("Random region operation failed on VM_" + inv.getId(), inv.getException());
      }
    }

    vm0.invoke(getCacheSerializableRunnableForIndexValidation(regionName, indexName));

  }
Tear down a PartitionedRegionTestCase by cleaning up the existing cache (mainly because we want
to destroy any existing PartitionedRegions)
geode-core/src/distributedTest/java/org/apache/geode/cache/query/internal/index/ConcurrentIndexUpdateWithoutWLDUnitTest.java