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

gnodet 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 3009c0da4c7e CAMEL-24030: Fix flaky SchedulerNoPolledMessagesTest 
(#24631)
3009c0da4c7e is described below

commit 3009c0da4c7e9eeacd2c360c7a10dff0d53dd667
Author: Guillaume Nodet <[email protected]>
AuthorDate: Sun Jul 12 22:59:46 2026 +0200

    CAMEL-24030: Fix flaky SchedulerNoPolledMessagesTest (#24631)
    
    CAMEL-24030: Fix flaky SchedulerNoPolledMessagesTest
    
    Widen timing assertion windows to accommodate CI jitter and use
    timed MockEndpoint.assertIsSatisfied instead of untimed variant.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 .../component/scheduler/SchedulerNoPolledMessagesTest.java | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerNoPolledMessagesTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerNoPolledMessagesTest.java
index c388aaedd3b7..32f710317a70 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerNoPolledMessagesTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/scheduler/SchedulerNoPolledMessagesTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.scheduler;
 
+import java.util.concurrent.TimeUnit;
+
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
@@ -29,13 +31,15 @@ public class SchedulerNoPolledMessagesTest extends 
ContextTestSupport {
     public void testSchedulerNoPolledMessages() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMinimumMessageCount(3);
-        // the first 2 is fast
-        mock.message(0).arrives().between(0, 500).millis().beforeNext();
-        mock.message(1).arrives().between(0, 500).millis().beforeNext();
+        // the first 2 fire quickly (100ms interval), but CI environments can 
add
+        // significant jitter from GC pauses and CPU contention — use wide 
windows
+        mock.message(0).arrives().between(0, 2000).millis().beforeNext();
+        mock.message(1).arrives().between(0, 2000).millis().beforeNext();
         // the last message should be slower as the backoff idle has kicked in
-        mock.message(2).arrives().between(500, 1500).millis().afterPrevious();
+        // (backoffMultiplier=10 × delay=100ms = ~1000ms), but allow extra 
margin for CI
+        mock.message(2).arrives().between(200, 5000).millis().afterPrevious();
 
-        assertMockEndpointsSatisfied();
+        MockEndpoint.assertIsSatisfied(context, 30, TimeUnit.SECONDS);
     }
 
     @Override

Reply via email to