publish().refCount() race may leave observers hanging · Issue #6501 · ReactiveX/RxJava (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Appearance settings

@akarnokd

Description

@akarnokd

This test eventually times out because one of the sources will not complete or trigger a reconnection:

for (int i = 0; i < 10_000; i++) { Observable observable = Observable.just(1).publish().refCount();

TestObserver<Integer> observer1 = observable
    .subscribeOn(Schedulers.computation())
    .test();

    TestObserver<Integer> observer2 = observable
    .subscribeOn(Schedulers.computation())
    .test();

observer1
    .withTag("observer1 " + i)
    .awaitDone(5, TimeUnit.SECONDS)
    .assertNoErrors()
    .assertComplete();

observer2
    .withTag("observer2 " + i)
    .awaitDone(5, TimeUnit.SECONDS)
    .assertNoErrors()
    .assertComplete();

}

(Originally reported as a comment.)