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

2.x: fix ReplayProcessor backpressure and NotificationLite emission bug #5493

Merged
merged 2 commits into from
Jul 18, 2017

Conversation

akarnokd
Copy link
Member

This PR upgrades the replaying algorithms of the ReplayProcessor to the standard queue-drain and as an added effect, fixes a request-emission race where the internal NotificationLite.complete could be emitted to the consumers.

@akarnokd akarnokd added this to the 2.2 milestone Jul 17, 2017
@codecov
Copy link

codecov bot commented Jul 17, 2017

Codecov Report

Merging #5493 into 2.x will increase coverage by 0.12%.
The diff coverage is 100%.

Impacted file tree graph

@@             Coverage Diff              @@
##                2.x    #5493      +/-   ##
============================================
+ Coverage     96.11%   96.23%   +0.12%     
- Complexity     5798     5809      +11     
============================================
  Files           631      631              
  Lines         41297    41276      -21     
  Branches       5743     5730      -13     
============================================
+ Hits          39692    39723      +31     
+ Misses          632      602      -30     
+ Partials        973      951      -22
Impacted Files Coverage Δ Complexity Δ
...ernal/operators/flowable/FlowableTimeoutTimed.java 93.22% <ø> (ø) 4 <0> (ø) ⬇️
.../java/io/reactivex/processors/ReplayProcessor.java 99.35% <100%> (+0.58%) 53 <8> (+4) ⬆️
...tivex/internal/schedulers/InstantPeriodicTask.java 61.11% <0%> (-5.56%) 7% <0%> (-2%)
.../operators/observable/ObservableIntervalRange.java 97.36% <0%> (-2.64%) 3% <0%> (ø)
...main/java/io/reactivex/subjects/SingleSubject.java 97.61% <0%> (-2.39%) 39% <0%> (-1%)
...ternal/operators/completable/CompletableUsing.java 97.61% <0%> (-2.39%) 4% <0%> (ø)
.../main/java/io/reactivex/subjects/MaybeSubject.java 95.65% <0%> (-2.18%) 46% <0%> (-1%)
...perators/single/SingleFlatMapIterableFlowable.java 96.66% <0%> (-1.67%) 2% <0%> (ø)
...al/operators/observable/ObservableSampleTimed.java 96.66% <0%> (-1.67%) 3% <0%> (ø)
.../operators/observable/ObservableFlatMapSingle.java 93.28% <0%> (-1.5%) 2% <0%> (ø)
... and 35 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 cd62d62...3455a97. Read the comment docs.

@akarnokd akarnokd merged commit 81fe956 into ReactiveX:2.x Jul 18, 2017
@akarnokd akarnokd deleted the ReplayProcessorCompleteLeakFix branch July 18, 2017 08:42
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.

4 participants