@Test
  public void testConcurrentGIIAndDispatch() throws Exception {
    serverVM0.invoke(() -> ConflationDistributedTestHelper.setIsSlowStart("40000"));
    serverVM1.invoke(() -> ConflationDistributedTestHelper.setIsSlowStart("40000"));

    createClientCache(getServerHostName(), PORT1, PORT2,
        "1");
    final String client1Host = getServerHostName();
    clientVM1.invoke(() -> HARQueueNewImplDistributedTest.createClientCache(client1Host,
        PORT1, PORT2, "1"));
    final String client2Host = getServerHostName();
    clientVM2.invoke(() -> HARQueueNewImplDistributedTest.createClientCache(client2Host,
        PORT1, PORT2, "1"));

    registerInterestListAll();
    clientVM1.invoke(HARQueueNewImplDistributedTest::registerInterestListAll);
    clientVM2.invoke(HARQueueNewImplDistributedTest::registerInterestListAll);
    // 1. stop the second server
    serverVM1.invoke(HARQueueNewImplDistributedTest::stopServer);

    serverVM0.invoke((SerializableRunnableIF) HARQueueNewImplDistributedTest::createEntries);
    serverVM0.invoke(() -> HARQueueNewImplDistributedTest
        .makeValuesOfSomeKeysNullInClientMsgsRegion(PORT1, new String[] {"k1", "k3"}));
    // 3. start the second server.
    serverVM1.invoke(HARQueueNewImplDistributedTest::startServer);
    serverVM0.invoke(() -> HARQueueNewImplDistributedTest.verifyRegionSize(5, 3));

    serverVM1.invoke(() -> HARQueueNewImplDistributedTest.verifyNullValuesInCMR(
        PORT2, new String[] {"k1", "k3"}));
    serverVM1.invoke(() -> HARQueueNewImplDistributedTest.verifyRegionSize(5, 3));

    serverVM0.invoke(() -> HARQueueNewImplDistributedTest
        .populateValuesOfSomeKeysInClientMsgsRegion(PORT1, new String[] {"k1", "k3"}));

    serverVM0.invoke(ConflationDistributedTestHelper::unsetIsSlowStart);
    serverVM1.invoke(ConflationDistributedTestHelper::unsetIsSlowStart);
  }
Addresses the bug 39179. If a clientUpdateMessage is dispatched to the client while its GII was
under way, then it should not be put into the HARegionQueue of a client at receiving server
side.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARQueueNewImplDistributedTest.java