@Test
  public void testCQRIClientOnRedundantBucketReceivesDeltaAndCQEvents() throws Exception {
    // dataStore2 is DataStore
    // implicit put of DELTA_KEY creates primary bucket on dataStore2
    dataStore2.invoke(() -> createCacheServerWithPR(REGION_NAME, 1, 50, 2, false, null));

    // dataStore3 is BridgeServer
    // this has secondary bucket
    int port3 =
        dataStore3.invoke(() -> createCacheServerWithPR(REGION_NAME, 1, 50, 2, false, null));

    // dataStore1 is accessor
    int port1 = dataStore1.invoke(() -> createCacheServerWithPR(REGION_NAME, 1, 0, 2, false, null));

    // this client is attached to accessor - (port1)
    createClientCache(port1, false, true, false);

    // client1 is attached to BridgeServer dataStore3
    // client1 registers Interest as well as cq
    client1.invoke(() -> createClientCache(port3, true, false, true));

    // create delta keys (1 primary 1 redundant bucket on each dataStore)
    DeltaTestImpl test = new DeltaTestImpl(8, "");
    deltaPR.put(DELTA_KEY, test);

    test.setIntVar(10);
    deltaPR.put(DELTA_KEY, test);

    deltaPR.put(LAST_KEY, new DeltaTestImpl(8, ""));

    client1.invoke(this::waitForLastKey);
    client1.invoke(() -> fromDeltaCounter(1));
    boolean flag = client1.invoke(this::verifyQueryUpdateExecuted);
    assertTrue("client update cq not executed properly", flag);
    flag = client1.invoke(this::verifyQueryDestroyExecuted);
    assertTrue("client destroy cq not executed properly", flag);
  }
Topology: PR: Accessor,DataStore,cache server; configured for 2 buckets and redundancy 1
DataStore has primary while BridgeServer has secondary of bucket. client connects to PR
Accessor client1 connects to PR BridgeServer client1 registers Interest as well as CQ client
puts delta objects on accessor Verify that client1 receives 2 deltas for 2 updates (due to RI)
Verify on client1 that queryUpdate and queryDestroy are executed properly
geode-cq/src/distributedTest/java/org/apache/geode/internal/cache/PRDeltaPropagationDistributedTest.java