You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by fr...@apache.org on 2026/10/09 06:02:42 UTC
(druid) branch master updated: test: fix flaky ScheduledExecutorsTest.testscheduleWithFixedDelay (#20526)
This is an automated email from the ASF dual-hosted git repository.
FrankChen021 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 805a5426720 test: fix flaky ScheduledExecutorsTest.testscheduleWithFixedDelay (#20526)
805a5426720 is described below
commit 805a5426720f492718b73f0c4de1e74db3bcd178
Author: Yahya Kisana <39...@users.noreply.github.com>
AuthorDate: Fri Oct 9 00:02:35 2026 -0600
test: fix flaky ScheduledExecutorsTest.testscheduleWithFixedDelay (#20526)
* test: fix flaky ScheduledExecutorsTest.testscheduleWithFixedDelay
* fix comment punctuation
---
.../java/util/common/concurrent/ScheduledExecutorsTest.java | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/processing/src/test/java/org/apache/druid/java/util/common/concurrent/ScheduledExecutorsTest.java b/processing/src/test/java/org/apache/druid/java/util/common/concurrent/ScheduledExecutorsTest.java
index 8fe6eccbb4b..55f00e2a6cb 100644
--- a/processing/src/test/java/org/apache/druid/java/util/common/concurrent/ScheduledExecutorsTest.java
+++ b/processing/src/test/java/org/apache/druid/java/util/common/concurrent/ScheduledExecutorsTest.java
@@ -44,7 +44,7 @@ public class ScheduledExecutorsTest
List<Long> taskStartTimes = new ArrayList<>();
AtomicInteger executionCount = new AtomicInteger(0);
CountDownLatch latch = new CountDownLatch(1);
- long startTime = System.currentTimeMillis();
+ final long startTime = System.nanoTime();
ScheduledExecutors.scheduleWithFixedDelay(
exec,
@@ -52,7 +52,7 @@ public class ScheduledExecutorsTest
delay,
() -> {
try {
- long taskStart = System.currentTimeMillis();
+ final long taskStart = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startTime);
int count = executionCount.getAndIncrement();
synchronized (taskStartTimes) {
taskStartTimes.add(taskStart);
@@ -78,10 +78,11 @@ public class ScheduledExecutorsTest
Assertions.assertTrue(completed, "Should complete within timeout");
Assertions.assertEquals(4, executionCount.get(), "Should have exactly 4 executions");
- // Verify first task starts at approximately the initial delay, in real life this is greater than 100ms due to overhead.
- long firstTaskStart = taskStartTimes.get(0) - startTime;
+ // Verify first task starts at approximately the initial delay.
+ // It can fire exactly on time, so the 100ms lower bound is inclusive.
+ final long firstTaskStart = taskStartTimes.get(0);
Assertions.assertTrue(
- firstTaskStart > 100 && firstTaskStart < 500,
+ firstTaskStart >= 100 && firstTaskStart < 500,
"First task should start at approximately initial delay (100ms), was: " + firstTaskStart
);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org