David Arthur created KAFKA-16020: ------------------------------------ Summary: Time#waitForFuture should tolerate nanosecond overflow Key: KAFKA-16020 URL: https://issues.apache.org/jira/browse/KAFKA-16020 Project: Kafka Issue Type: Bug Reporter: David Arthur
Reported by [~jsancio] here https://github.com/apache/kafka/pull/15007#discussion_r1428359211 Time#waitForFuture should follow the JDK recommendation for comparing elapsed nanoseconds to a duration. https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/System.html#nanoTime() {quote} For example, to measure how long some code takes to execute: long startTime = System.nanoTime(); // ... the code being measured ... long elapsedNanos = System.nanoTime() - startTime; To compare elapsed time against a timeout, use if (System.nanoTime() - startTime >= timeoutNanos) ... instead of if (System.nanoTime() >= startTime + timeoutNanos) ... because of the possibility of numerical overflow. {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)