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]