@Test
  public void testNativeClientIssueOnPR() {
    port1 = server1.invoke(() -> createServerCache(false, false));
    server2.invoke(() -> createServerCache(false, false));
    server3.invoke(() -> createServerCache(false, false));

    List<String> keys = new ArrayList<>();
    keys.add("OPKEY_0");
    keys.add("OPKEY_1");
    keys.add("OPKEY_2");
    keys.add("OPKEY_3");
    keys.add("OPKEY_4");
    keys.add("OPKEY_5");
    keys.add("OPKEY_6");
    keys.add("OPKEY_7");
    keys.add("OPKEY_8");
    keys.add("OPKEY_9");
    keys.add("OPKEY_10");
    keys.add("OPKEY_11");
    keys.add("OPKEY_12");
    keys.add("OPKEY_13");

    client1.invoke(() -> createClientCache(port1));
    createClientCache(port1);
    doOps();

    client1.invoke(() -> {
      Region<Object, Object> region = clientCache().getRegion(regionName);
      region.registerInterest(keys);
      region.registerInterest("UNKNOWN_KEY");
    });

    client1.invoke(() -> {
      InternalRegion region = (InternalRegion) clientCache().getRegion(regionName);
      for (int i = 0; i < 7; i++) {
        assertTrue(region.containsKey("OPKEY_" + i));
      }
      for (int i = 7; i < 14; i++) {
        assertFalse(region.containsKey("OPKEY_" + i));
        assertTrue(region.containsTombstone("OPKEY_" + i));
      }
    });
  }
Functional distributed tests for Register Interest with KEYS_VALUES policy.

<p>
TRAC #43684: Register interest with policy KEYS_VALUES is inefficient
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/RegisterInterestKeysValuesDistributedTest.java