This is an automated email from the ASF dual-hosted git repository.

vveider pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 1c32da4df IGNITE-17289 IgniteWorkerTest#testUpdateHeartbeat is flaky 
(#919)
1c32da4df is described below

commit 1c32da4df71d1198cd11af6db04f8bc8043e4f5f
Author: Kirill Tkalenko <[email protected]>
AuthorDate: Mon Jul 4 16:50:38 2022 +0300

    IGNITE-17289 IgniteWorkerTest#testUpdateHeartbeat is flaky (#919)
---
 .../ignite/internal/util/worker/IgniteWorkerTest.java       | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/util/worker/IgniteWorkerTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/util/worker/IgniteWorkerTest.java
index ca484abe5..75628e21f 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/util/worker/IgniteWorkerTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/util/worker/IgniteWorkerTest.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.util.worker;
 
 import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.runAsync;
+import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.waitForCondition;
 import static 
org.apache.ignite.internal.util.FastTimestamps.coarseCurrentTimeMillis;
 import static 
org.apache.ignite.internal.util.worker.IgniteWorkerTest.TestWorkerListener.ON_IDLE;
 import static 
org.apache.ignite.internal.util.worker.IgniteWorkerTest.TestWorkerListener.ON_STARTED;
@@ -100,21 +101,23 @@ public class IgniteWorkerTest {
     void testUpdateHeartbeat() throws Exception {
         IgniteWorker worker = new NoopWorker(log, null);
 
-        long currentTimeMillis = coarseCurrentTimeMillis();
+        assertEquals(0, worker.heartbeat());
+
+        long coarseCurrentTimeMillis = coarseCurrentTimeMillis();
 
         worker.updateHeartbeat();
 
         long heartbeat = worker.heartbeat();
 
-        assertThat(heartbeat, greaterThanOrEqualTo(currentTimeMillis));
+        assertThat(heartbeat, greaterThanOrEqualTo(coarseCurrentTimeMillis));
 
-        Thread.sleep(10);
-
-        assertEquals(heartbeat, worker.heartbeat());
+        assertTrue(waitForCondition(() -> coarseCurrentTimeMillis() > 
coarseCurrentTimeMillis, 10, 1_000));
 
         worker.updateHeartbeat();
 
         assertThat(worker.heartbeat(), greaterThan(heartbeat));
+        assertThat(worker.heartbeat(), greaterThan(coarseCurrentTimeMillis));
+        assertThat(worker.heartbeat(), 
lessThanOrEqualTo(coarseCurrentTimeMillis()));
     }
 
     @Test

Reply via email to