private void identifyPrimaryServer() {
    boolean primaryIsServer1 = server1.invoke(
        QueueRemovalMessageProcessingDistributedTest::isPrimaryServerForClient);

    assertThat(primaryIsServer1).isNotEqualTo(server2.invoke(
        QueueRemovalMessageProcessingDistributedTest::isPrimaryServerForClient));

    if (primaryIsServer1) {
      primary = server1;
      secondary = server2;
    } else {
      primary = server2;
      secondary = server1;
    }

    assertThat(primary).isNotNull();
    assertThat(secondary).isNotNull();
    assertThat(primary).isNotEqualTo(secondary);
  }
The test creates two datastores with a partitioned region, and also running a cache server each.
A publisher client is connected to one server while a subscriber client is connected to both the
servers. The partitioned region has entry expiry set with ttl of 3 seconds and action as DESTROY.
The test ensures that the EXPIRE_DESTROY events are propagated to the subscriber client and the
secondary server does process the QRMs for the EXPIRE_DESTROY events.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/QueueRemovalMessageProcessingDistributedTest.java