private static void configureClientCacheFactory(ClientCacheFactory ccf, int... serverPorts) {
    for (int serverPort : serverPorts) {
      ccf.addPoolServer("localhost", serverPort);
    }
    ccf.setPoolReadTimeout(10 * 60 * 1000); // 10 min
    ccf.setPoolSubscriptionEnabled(true);
  }
These tests add a test hook to make sure query execution sleeps for at least 20 ms, so the
queryMonitor thread will get a chance to cancel the query before it completes.

The MAX_QUERY_EXECUTION_TIME is set as 1 ms, i.e, theoretically all queries will be cancelled
after 1ms, but due to thread scheduling, this may not be true. we can only decrease the flakyness
of the test by making MAX_QUERY_EXECUTION_TIME the smallest possible (1) and making the query
execution time longer (but not too long to make the test run too slow).
geode-cq/src/distributedTest/java/org/apache/geode/cache/query/dunit/QueryMonitorDUnitTest.java