@Override
      public Object call() throws Exception {
        ClientCacheFactory cf = new ClientCacheFactory();
        cf.addPoolServer(NetworkUtils.getServerHostName(vm0.getHost()), port1);
        cf.addPoolServer(NetworkUtils.getServerHostName(vm1.getHost()), port2);
        ClientCache cache = getClientCache(cf);
        Region region =
            cache.createClientRegionFactory(ClientRegionShortcut.PROXY).create(regionName);
        // Put Portfolios with 2 different pkids
        for (int set = 1; set <= 2; set++) {
          for (int current = 1; current <= 5; current++) {
            region.put("key-" + set + "_" + current, new PortfolioPdx(set, current));
          }
        }

        for (final String q : qs) {
          SelectResults sr = (SelectResults) cache.getQueryService().newQuery(q).execute();
          assertEquals("Did not get expected result from query: " + q + " ", 2, sr.size());
        }

        return null;
      }
Test to verify if duplicate results are not being accumulated when PdxString is used in PR
query
geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/PdxStringQueryDUnitTest.java