Pre-check

  • [x] I am sure that all the content I provide is in English.

Search before asking

  • [x] I had searched in the issues and found no similar issues.

Apache Dubbo Component

Java SDK (apache/dubbo)

Dubbo Version

There have been multiple failures in recent Build and Test Scheduled On 3.3 workflows,

2025-09-01T06:46:22.9772705Z [INFO] Running org.apache.dubbo.mutiny.MutinyClientCallsTest
2025-09-01T06:46:26.8424381Z ##[error]Exception in thread "Thread-2" java.lang.NullPointerException: Cannot invoke "java.util.concurrent.Flow$Subscriber.onNext(Object)" because "this.downstream" is null
2025-09-01T06:46:26.8426850Z    at org.apache.dubbo.mutiny.AbstractTripleMutinyPublisher.onNext(AbstractTripleMutinyPublisher.java:126)
2025-09-01T06:46:26.8428475Z    at org.apache.dubbo.mutiny.MutinyClientCallsTest.lambda$testOneToManyReturnsMultiAndEmitsItems$5(MutinyClientCallsTest.java:130)
2025-09-01T06:46:26.8429725Z    at java.base/java.lang.Thread.run(Thread.java:1583)
2025-09-01T07:29:54.1864342Z ##[error]The action 'Test with Maven with Integration Tests' has timed out after 70 minutes.

it seemed that MutinyClientCallsTest hangs at line 143,

List<String> collectedItems =
                    multiResponse.collect().asList().await().indefinitely();

the root cause is NullPointerException is thrown when calling publisher.onNext in the thread:

                                new Thread(() -> {
                                    publisher.onNext("item1");
                                    publisher.onNext("item2");
                                    publisher.onCompleted();
                                })

@MoritzArena

Steps to reproduce this issue

see Build and Test Scheduled On 3.3 at https://github.com/apache/dubbo/actions

What you expected to happen

mutiny unit test should run successfully.

Anything else

see details at https://github.com/apache/dubbo/actions/runs/17369140877/job/49301831068

Are you willing to submit a pull request to fix on your own?

  • [ ] Yes I am willing to submit a pull request on my own!

Code of Conduct

Comment From: MoritzArena

plz assign this for me

Comment From: zrlw

i modified the test case, but i doubt it might have a better solution.