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 Observable.window (size & time) cancellation and abandonment #6761

Merged
merged 1 commit into from
Dec 16, 2019

Conversation

akarnokd
Copy link
Member

This PR fixes the Observable.window operator (with size and time boundaries) so that

  • cancelling the inner windows allows cancelling the upstream once neither the main output nor other windows are being consumed further,
  • ignoring a window still allows cancelling the upstream.

Follow-up to #6758

The boundary and start-stop publisher boundarywill be updated in subsequent PRs.

In addition, the previous WindowSubscribeIntercept has been renamed to match the reactive type naming as well as removed the unnecessary serialization of the emission of window processors.

@akarnokd akarnokd added this to the 3.0 milestone Dec 16, 2019
@codecov
Copy link

codecov bot commented Dec 16, 2019

Codecov Report

Merging #6761 into 3.x will increase coverage by <.01%.
The diff coverage is 95.6%.

Impacted file tree graph

@@             Coverage Diff              @@
##                3.x    #6761      +/-   ##
============================================
+ Coverage     98.18%   98.19%   +<.01%     
- Complexity     6193     6196       +3     
============================================
  Files           678      679       +1     
  Lines         44580    44552      -28     
  Branches       6152     6145       -7     
============================================
- Hits          43773    43746      -27     
- Misses          285      286       +1     
+ Partials        522      520       -2
Impacted Files Coverage Δ Complexity Δ
...ors/flowable/FlowableWindowSubscribeIntercept.java 87.5% <100%> (ø) 4 <1> (?)
...ternal/operators/flowable/FlowableWindowTimed.java 96.62% <100%> (-0.01%) 5 <0> (ø)
...nternal/operators/observable/ObservableWindow.java 100% <100%> (ø) 3 <0> (ø) ⬇️
...a3/internal/operators/flowable/FlowableWindow.java 89.8% <100%> (ø) 4 <0> (ø) ⬇️
...observable/ObservableWindowSubscribeIntercept.java 87.5% <87.5%> (ø) 4 <4> (?)
...al/operators/observable/ObservableWindowTimed.java 96.12% <95.37%> (+4.86%) 4 <0> (ø) ⬇️
.../operators/flowable/FlowableBlockingSubscribe.java 93.02% <0%> (-4.66%) 10% <0%> (-1%)
...eactivex/rxjava3/processors/BehaviorProcessor.java 96.58% <0%> (-2.44%) 51% <0%> (ø)
...ernal/operators/flowable/FlowableFlatMapMaybe.java 94.27% <0%> (-2.09%) 2% <0%> (ø)
...java3/internal/operators/single/SingleTimeout.java 98.33% <0%> (-1.67%) 2% <0%> (ø)
... and 18 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 df7f1cd...c43a812. Read the comment docs.

@akarnokd akarnokd merged commit daeccff into ReactiveX:3.x Dec 16, 2019
@akarnokd akarnokd deleted the WindowCancelAbandonFix3x_2 branch December 16, 2019 12:04
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.

2 participants