ReactiveMessagePipelineTest.handlingTimeout continues to be flaky
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 38/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- java
- Domain
- testing-qa
Research direction
Start with ReactiveMessagePipelineTests.handlingTimeout at line 221 and reproduce the failure, then inspect DefaultReactiveMessagePipeline using the reported timeout and unexpected-completion logs. Done means the test passes deterministically with all expected messages handled and no timeout-related errors.
Written by the indexing model from the issue text.
Description
Example failure:
Test handlingTimeout() FAILED
java.lang.AssertionError:
Expected size: 9 but was: 8 in:
[123456:4044:-1,
123456:4045:-1,
123456:4046:-1,
123456:4047:-1,
123456:4048:-1,
123456:4051:-1,
123456:4052:-1,
123456:4053:-1]
at org.apache.pulsar.reactive.client.api.ReactiveMessagePipelineTests.handlingTimeout(ReactiveMessagePipelineTests.java:221)
[2025-05-20 10:06:41,684] [parallel-2] [org.apache.pulsar.reactive.client.internal.api.DefaultReactiveMessagePipeline] ERROR Message handling for message id 123456:4049:-1 failed.
java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 5ms in 'source(MonoDefer)' (and no fallback has been configured)
at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:296) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.doTimeout(FluxTimeout.java:281) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.publisher.FluxTimeout$TimeoutTimeoutSubscriber.onNext(FluxTimeout.java:420) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.publisher.FluxOnErrorReturn$ReturnSubscriber.onNext(FluxOnErrorReturn.java:162) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) [reactor-core-3.6.16.jar:3.6.16]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
[2025-05-20 10:06:41,690] [parallel-4] [org.apache.pulsar.reactive.client.internal.api.DefaultReactiveMessagePipeline] ERROR Message handling for message id 123456:4050:-1 failed.
java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 5ms in 'source(MonoDefer)' (and no fallback has been configured)
at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:296) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.doTimeout(FluxTimeout.java:281) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.publisher.FluxTimeout$TimeoutTimeoutSubscriber.onNext(FluxTimeout.java:420) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.publisher.FluxOnErrorReturn$ReturnSubscriber.onNext(FluxOnErrorReturn.java:162) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) [reactor-core-3.6.16.jar:3.6.16]
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) [reactor-core-3.6.16.jar:3.6.16]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
[2025-05-20 10:06:41,698] [parallel-3] [org.apache.pulsar.reactive.client.internal.api.DefaultReactiveMessagePipeline] ERROR ReactiveMessageHandler was unexpectedly completed.
- Dominant language
- Java
- Stars
- 67
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/pulsar-client-reactive
-
Difficulty 3/5 1-2 days Newbie friendliness 39/100
apache/pulsar-client-reactive#227 ·
-
Acknowledge outside of consumeMany and consumeOneMay be free again @lhotari claimed this 491 days ago, and no pull request is open. Open
apache/pulsar-client-reactive#220 · 1 comment · 1 assignee ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
apache/pulsar-client-reactive#182 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
apache/pulsar-client-reactive#114 · 6 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
All issues in apache/pulsar-client-reactive
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
beehive-lab/TornadoVM#1151 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
FasterXML/jackson-dataformats-binary#823 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day