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)