Guillaume Nodet created CAMEL-23437:
---------------------------------------

             Summary: Fix and re-enable flaky 
DisruptorReconfigureWithBlockingProducerTest
                 Key: CAMEL-23437
                 URL: https://issues.apache.org/jira/browse/CAMEL-23437
             Project: Camel
          Issue Type: Improvement
          Components: camel-disruptor
            Reporter: Guillaume Nodet
             Fix For: 4.21.0


The DisruptorReconfigureWithBlockingProducerTest has been @Disabled since 2019 
(CAMEL-13629) due to flakiness.

Root causes:
# Fragile wall-clock timing assertion (watch.taken() < 2000) with only 400ms 
margin over the theoretical 1600ms drain time
# Race between producer and reconfiguration: the ConsumerEventHandler processes 
events asynchronously, so the ring buffer drains in microseconds and the 
producer sends all messages to the old disruptor before reconfiguration takes 
effect
# Non-volatile exception field across threads and tight 5-second timeouts

Fix uses explicit CountDownLatch synchronization so the second batch of 
messages deterministically goes through both consumers after reconfiguration.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to