[ 
https://issues.apache.org/jira/browse/KAFKA-8881?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

huxihx updated KAFKA-8881:
--------------------------
    Description: Currently, the code uses `System.currentTimeMillis()` to 
measure timeout extensively. However, many situations trigger the thread 
suspend such as gc and context switch. In such cases, the timeout value we 
specify is not strictly honored. I believe many of flaky tests failed with 
timed-out are a result of this. Maybe we should use 
ThreadMXBean#getCurrentThreadCpuTime to precisely measure the thread running 
time.  (was: Currently, the code uses `System.currentTimeMillis()` to measure 
timeout extensively. However, many situations trigger the thread suspend such 
as gc and context switch. In such cases, the timeout value we specify is not 
strictly honored. I believe many of flaky tests failed with timed-out are a 
result of this. Maybe we should use ThreadMXBean#getCurrentThreadUserTime to 
precisely measure the thread running time.)

> Measure thread running time precisely
> -------------------------------------
>
>                 Key: KAFKA-8881
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8881
>             Project: Kafka
>          Issue Type: Improvement
>    Affects Versions: 2.4.0
>            Reporter: huxihx
>            Priority: Major
>              Labels: needs-discussion
>
> Currently, the code uses `System.currentTimeMillis()` to measure timeout 
> extensively. However, many situations trigger the thread suspend such as gc 
> and context switch. In such cases, the timeout value we specify is not 
> strictly honored. I believe many of flaky tests failed with timed-out are a 
> result of this. Maybe we should use ThreadMXBean#getCurrentThreadCpuTime to 
> precisely measure the thread running time.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to