You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/06/27 03:16:37 UTC

[camel] branch main updated: (chores) ci: fix SplitParallelTimeoutTest blocking core tests

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

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new fecdb1ba981 (chores) ci: fix SplitParallelTimeoutTest blocking core tests
fecdb1ba981 is described below

commit fecdb1ba981f8d8d5349e6bf280889469e5f6d42
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Mon Jun 26 14:02:31 2023 +0000

    (chores) ci: fix SplitParallelTimeoutTest blocking core tests
---
 .../camel/processor/SplitParallelTimeoutTest.java     | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/SplitParallelTimeoutTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/SplitParallelTimeoutTest.java
index ed648ec11dd..436df15a7c6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/SplitParallelTimeoutTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/SplitParallelTimeoutTest.java
@@ -17,30 +17,29 @@
 package org.apache.camel.processor;
 
 import java.util.concurrent.Phaser;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.camel.AggregationStrategy;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.RepeatedTest;
 import org.junit.jupiter.api.Timeout;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-@Disabled("Still blocking on some environments")
+@Timeout(50)
 public class SplitParallelTimeoutTest extends ContextTestSupport {
 
     private volatile Exchange receivedExchange;
     private volatile int receivedIndex;
     private volatile int receivedTotal;
     private volatile long receivedTimeout;
-    private final Phaser phaser = new Phaser(4);
+    private final Phaser phaser = new Phaser(3);
 
-    @Test
-    @Timeout(5)
+    @RepeatedTest(20)
     public void testSplitParallelTimeout() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         // A will timeout so we only get B and/or C
@@ -48,7 +47,7 @@ public class SplitParallelTimeoutTest extends ContextTestSupport {
 
         template.sendBody("direct:start", "A,B,C");
 
-        phaser.arriveAndAwaitAdvance();
+        phaser.awaitAdvanceInterruptibly(0, 5000, TimeUnit.SECONDS);
 
         assertMockEndpointsSatisfied();
 
@@ -73,11 +72,11 @@ public class SplitParallelTimeoutTest extends ContextTestSupport {
                         .end() // end split
                         .to("mock:result");
 
-                from("direct:a").process(e -> phaser.arriveAndAwaitAdvance()).setBody(constant("A"));
+                from("direct:a").process(e -> phaser.arriveAndAwaitAdvance()).delay(200).setBody(constant("A"));
 
-                from("direct:b").process(e -> phaser.arrive()).setBody(constant("B"));
+                from("direct:b").process(e -> phaser.arriveAndAwaitAdvance()).setBody(constant("B"));
 
-                from("direct:c").delay(10).process(e -> phaser.arrive()).setBody(constant("C"));
+                from("direct:c").process(e -> phaser.arriveAndAwaitAdvance()).delay(10).setBody(constant("C"));
             }
         };
     }