@Probe(name = OPERATION_METRIC_PARKER_PARK_QUEUE_COUNT)
    public int getParkQueueCount() {
        return waitSetMap.size();
    }
@Test
    public void testAwaitQueueCount_shouldNotExceedBlockedThreadCount() {
        final HazelcastInstance hz = createHazelcastInstance();
        NodeEngineImpl nodeEngine = getNode(hz).nodeEngine;
        OperationParkerImpl waitNotifyService = (OperationParkerImpl) nodeEngine.getOperationParker();

        final int keyCount = 1000;
        int nThreads = 4;
        CountDownLatch latch = new CountDownLatch(nThreads);

        for (int i = 0; i < nThreads; i++) {
            new Thread(new LockWaitAndUnlockTask(hz, keyCount, latch)).start();
        }

        while (latch.getCount() > 0) {
            LockSupport.parkNanos(1);
            int awaitQueueCount = waitNotifyService.getParkQueueCount();
            Assert.assertTrue(
                    "Await queue count should be smaller than total number of threads: " + awaitQueueCount + " VS "
                            + nThreads, awaitQueueCount < nThreads);
        }
    }