private void createClientCache(String hostName, Integer port) {
    Properties config = new Properties();
    config.setProperty(MCAST_PORT, "0");
    config.setProperty(LOCATORS, "");
    config.setProperty(DURABLE_CLIENT_ID, "durable-48571");
    config.setProperty(DURABLE_CLIENT_TIMEOUT, "300000");

    ClientCacheFactory ccf = new ClientCacheFactory(config);
    ccf.setPoolSubscriptionEnabled(true);
    ccf.setPoolSubscriptionAckInterval(50);
    ccf.setPoolSubscriptionRedundancy(0);
    ccf.addPoolServer(hostName, port);

    clientCacheRule.createClientCache(ccf);

    ClientRegionFactory<String, String> crf =
        clientCacheRule.getClientCache().createClientRegionFactory(CACHING_PROXY);
    crf.setConcurrencyChecksEnabled(false);

    spyCacheListener = spy(CacheListener.class);
    crf.addCacheListener(spyCacheListener);

    Region<String, String> region = crf.create(regionName);
    region.registerInterest("ALL_KEYS", true);

    clientCacheRule.getClientCache().readyForEvents();
  }
Client queue size statistic should not go negative when client goes offline.

<p>
TRAC #48571: CacheClientProxy.getQueueSizeStat() gives negative numbers when client goes down.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueSizeRegressionTest.java