Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.x: Fix many operators swallowing undeliverable exceptions #6612

Merged
merged 2 commits into from
Aug 5, 2019

Conversation

akarnokd
Copy link
Member

@akarnokd akarnokd commented Aug 5, 2019

Fix many operators to emit the collected exception in case of a cancel/dispose call to the plugin error handler (i.e., becoming undeliverable excptions).

In addition, the terminal event/error delivery has been unified in many other operators so that the terminal-indicator exception is never leaked.

There will be a separate PR about cleaning up the addThrowable usage cases (#6611).

Fixes: #6587

@akarnokd akarnokd added this to the 3.0 milestone Aug 5, 2019
@codecov
Copy link

codecov bot commented Aug 5, 2019

Codecov Report

Merging #6612 into 3.x will decrease coverage by 0.01%.
The diff coverage is 97.9%.

Impacted file tree graph

@@             Coverage Diff              @@
##                3.x    #6612      +/-   ##
============================================
- Coverage     98.17%   98.15%   -0.02%     
- Complexity     6180     6186       +6     
============================================
  Files           678      678              
  Lines         44910    44771     -139     
  Branches       6214     6172      -42     
============================================
- Hits          44091    43947     -144     
- Misses          275      279       +4     
- Partials        544      545       +1
Impacted Files Coverage Δ Complexity Δ
...nal/operators/flowable/FlowableMergeWithMaybe.java 100% <100%> (ø) 2 <0> (ø) ⬇️
...nal/operators/mixed/ObservableConcatMapSingle.java 100% <100%> (ø) 3 <0> (ø) ⬇️
.../operators/mixed/FlowableSwitchMapCompletable.java 100% <100%> (ø) 2 <0> (ø) ⬇️
...al/operators/flowable/FlowableMergeWithSingle.java 100% <100%> (ø) 2 <0> (ø) ⬇️
...ava/io/reactivex/observers/SerializedObserver.java 100% <100%> (ø) 27 <1> (ø) ⬇️
...ators/observable/ObservableFlatMapCompletable.java 95.71% <100%> (-0.24%) 2 <0> (ø)
...perators/observable/ObservableMergeWithSingle.java 99.07% <100%> (-0.93%) 2 <0> (ø)
...va/io/reactivex/internal/util/AtomicThrowable.java 100% <100%> (ø) 23 <15> (+15) ⬆️
...lowable/FlowableFlatMapCompletableCompletable.java 96.15% <100%> (-0.24%) 3 <0> (ø)
...ternal/operators/mixed/FlowableSwitchMapMaybe.java 100% <100%> (ø) 2 <0> (ø) ⬇️
... and 59 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 28e24dc...822145d. Read the comment docs.

@akarnokd akarnokd merged commit 2572fa7 into ReactiveX:3.x Aug 5, 2019
@akarnokd akarnokd deleted the ConcatMapUndeliverableFix3x branch August 5, 2019 15:25
@artem-zinnatullin
Copy link
Contributor

Nice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Inner errors within concatMapSingle vanish if disposed
3 participants