You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Publisher#flatMapConcatIterable propagate error even if no onSubscribe (#1671)
Motivation:
The ReactiveStreams specification says that onSubscribe(Subscription)
must be called prior to any other signals being delivered [1]. However
in practice user code may throw in onSubscribe which may stop the
propagation. In this case Publisher#flatMapConcatIterable has an
assertion which may prevent the error from propagating downstream and
result in a control flow deadlock.
[1] https://github.com/reactive-streams/reactive-streams-jvm/blob/v1.0.3/README.md#1.9
Modifications:
- Move assertion in Publisher#flatMapConcatIterable to allow for null
subscription, add a runtime check before it is used.
Result:
More robust error propagation for Publisher#flatMapConcatIterable in the
precense of Reactive Streams specification violations.
Copy file name to clipboardExpand all lines: servicetalk-concurrent-api/src/test/java/io/servicetalk/concurrent/api/PublisherConcatMapIterableTest.java
+19Lines changed: 19 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -68,6 +68,25 @@ class PublisherConcatMapIterableTest {
0 commit comments