Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

ReactiveMessagePipelineTest.handlingTimeout continues to be flaky

Open
#216 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/pulsar-client-reactive

All issues in apache/pulsar-client-reactive

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.