final void updateStatsBorrow()

in src/main/java/org/apache/commons/pool3/impl/BaseGenericObjectPool.java [1746:1762]


    final void updateStatsBorrow(final PooledObject<T> p, final Duration waitDuration) {
        borrowedCount.incrementAndGet();
        idleTimes.add(p.getIdleDuration());
        waitTimes.add(waitDuration);

        // lock-free optimistic-locking maximum
        Duration currentMaxDuration;
        do {
            currentMaxDuration = maxBorrowWaitDuration.get();
//            if (currentMaxDuration >= waitDuration) {
//                break;
//            }
            if (currentMaxDuration.compareTo(waitDuration) >= 0) {
                break;
            }
        } while (!maxBorrowWaitDuration.compareAndSet(currentMaxDuration, waitDuration));
    }