[
https://issues.apache.org/jira/browse/FLINK-4422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15887161#comment-15887161
]
ASF GitHub Bot commented on FLINK-4422:
---------------------------------------
Github user jinmingjian commented on a diff in the pull request:
https://github.com/apache/flink/pull/3420#discussion_r103196536
--- Diff:
flink-connectors/flink-connector-kafka-0.8/src/main/java/org/apache/flink/streaming/connectors/kafka/internals/ClosableBlockingQueue.java
---
@@ -355,13 +355,13 @@ public E getElementBlocking(long timeoutMillis)
throws InterruptedException {
throw new IllegalArgumentException("invalid timeout");
}
- final long deadline = System.currentTimeMillis() +
timeoutMillis;
+ final long deadline = System.nanoTime() + timeoutMillis *
1_000_000L;
--- End diff --
We can. But as an API, a ton of invocations in tests will come to change.
Are you ready for review? :smiley_cat: And from practices, it is uncommon to
use nano sec time unit in API except for performance/benchmark in that it is
usual too small.
> Convert all time interval measurements to System.nanoTime()
> -----------------------------------------------------------
>
> Key: FLINK-4422
> URL: https://issues.apache.org/jira/browse/FLINK-4422
> Project: Flink
> Issue Type: Sub-task
> Components: Core
> Reporter: Stephan Ewen
> Assignee: Jin Mingjian
> Priority: Minor
>
> In contrast to {{System.currentTimeMillis()}}, {{System.nanoTime()}} is
> monotonous. To measure delays and time intervals, {{System.nanoTime()}} is
> hence reliable, while {{System.currentTimeMillis()}} is not.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)