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

gitgabrio pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git


The following commit(s) were added to refs/heads/main by this push:
     new 2068bfdec0 [incubator-kie-issues#2292] Fix 
`QuarkusEventThreadPoolTest` flaky test (#4274)
2068bfdec0 is described below

commit 2068bfdec03cc847bdfa0d1e0e6073d0854ecf44
Author: Pere Fernández <[email protected]>
AuthorDate: Mon May 4 12:22:45 2026 +0200

    [incubator-kie-issues#2292] Fix `QuarkusEventThreadPoolTest` flaky test 
(#4274)
---
 .../quarkus/messaging/common/QuarkusEventThreadPool.java |  2 +-
 .../messaging/common/QuarkusEventThreadPoolTest.java     | 16 +++++++++++-----
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git 
a/quarkus/addons/messaging/common/src/main/java/org/kie/kogito/addon/quarkus/messaging/common/QuarkusEventThreadPool.java
 
b/quarkus/addons/messaging/common/src/main/java/org/kie/kogito/addon/quarkus/messaging/common/QuarkusEventThreadPool.java
index 9b9b82c964..af633f73fa 100644
--- 
a/quarkus/addons/messaging/common/src/main/java/org/kie/kogito/addon/quarkus/messaging/common/QuarkusEventThreadPool.java
+++ 
b/quarkus/addons/messaging/common/src/main/java/org/kie/kogito/addon/quarkus/messaging/common/QuarkusEventThreadPool.java
@@ -55,7 +55,7 @@ public class QuarkusEventThreadPool extends 
ThreadPoolExecutor {
             resume = queued != null && overflowBuffer.isEmpty();
         }
         if (queued != null) {
-            logger.trace("Addding runnable {} back to the executor", queued);
+            logger.trace("Adding runnable {} back to the executor", queued);
             super.execute(queued);
             if (resume) {
                 logger.trace("Resuming emission");
diff --git 
a/quarkus/addons/messaging/common/src/test/java/org/kie/kogito/addon/quarkus/messaging/common/QuarkusEventThreadPoolTest.java
 
b/quarkus/addons/messaging/common/src/test/java/org/kie/kogito/addon/quarkus/messaging/common/QuarkusEventThreadPoolTest.java
index 31c471b94e..fdf396aa9a 100644
--- 
a/quarkus/addons/messaging/common/src/test/java/org/kie/kogito/addon/quarkus/messaging/common/QuarkusEventThreadPoolTest.java
+++ 
b/quarkus/addons/messaging/common/src/test/java/org/kie/kogito/addon/quarkus/messaging/common/QuarkusEventThreadPoolTest.java
@@ -21,8 +21,8 @@ package org.kie.kogito.addon.quarkus.messaging.common;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Callable;
+import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -34,6 +34,7 @@ import net.jcip.annotations.NotThreadSafe;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 @NotThreadSafe
 public class QuarkusEventThreadPoolTest {
@@ -113,18 +114,23 @@ public class QuarkusEventThreadPoolTest {
     }
 
     private void testIt(int numThreads, int queueSize, int count) throws 
InterruptedException, ExecutionException {
-        ExecutorService executor = new QuarkusEventThreadPool(numThreads, 
queueSize, controller, CHANNEL_NAME);
-        final AtomicInteger counter = new AtomicInteger(0);
+        QuarkusEventThreadPool executor = new 
QuarkusEventThreadPool(numThreads, queueSize, controller, CHANNEL_NAME);
+        final CountDownLatch latch = new CountDownLatch(count);
         List<Callable<Integer>> runnables = new ArrayList<>();
         for (int i = 0; i < count; i++) {
             final int temp = i;
             runnables.add(() -> {
-                counter.incrementAndGet();
+                latch.countDown();
                 return temp + 1;
             });
         }
+
         List<Future<Integer>> answers = executor.invokeAll(runnables, 5, 
TimeUnit.MINUTES);
-        assertEquals(count, counter.get());
+
+        // Wait for all tasks to executed
+        assertTrue(latch.await(1, TimeUnit.MINUTES));
+        assertEquals(0, latch.getCount());
+
         for (int i = 0; i < answers.size(); i++) {
             assertEquals(i + 1, answers.get(i).get());
         }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to