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.flatMap with maxConcurrency hangs #6946

Merged

Conversation

akarnokd
Copy link
Member

@akarnokd akarnokd commented Apr 4, 2020

Queued up scalar values were not counted as completed, thus the subsequent sources where not subscribed to to fill up the allowed concurrency level.

Fixes #6945

@akarnokd akarnokd added this to the 3.1 milestone Apr 4, 2020
Copy link
Collaborator

@vanniktech vanniktech left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Flowable works?

@akarnokd
Copy link
Member Author

akarnokd commented Apr 4, 2020

Yes. Added the test for it too anyway.

@codecov
Copy link

codecov bot commented Apr 4, 2020

Codecov Report

Merging #6946 into 3.x will decrease coverage by 0.06%.
The diff coverage is 100.00%.

Impacted file tree graph

@@             Coverage Diff              @@
##                3.x    #6946      +/-   ##
============================================
- Coverage     99.66%   99.60%   -0.07%     
+ Complexity     6665     6664       -1     
============================================
  Files           742      742              
  Lines         47220    47228       +8     
  Branches       6367     6369       +2     
============================================
- Hits          47064    47043      -21     
- Misses           46       60      +14     
- Partials        110      125      +15     
Impacted Files Coverage Δ Complexity Δ
...ternal/operators/observable/ObservableFlatMap.java 98.22% <100.00%> (-0.32%) 3.00 <0.00> (ø)
...nternal/operators/parallel/ParallelReduceFull.java 91.08% <0.00%> (-3.97%) 2.00% <0.00%> (ø%)
...a3/internal/operators/flowable/FlowableCreate.java 95.14% <0.00%> (-3.89%) 6.00% <0.00%> (ø%)
...xjava3/internal/observers/FutureMultiObserver.java 96.61% <0.00%> (-3.39%) 27.00% <0.00%> (-1.00%)
...ctivex/rxjava3/internal/util/QueueDrainHelper.java 97.22% <0.00%> (-2.78%) 56.00% <0.00%> (-2.00%)
...a3/internal/subscribers/InnerQueuedSubscriber.java 97.72% <0.00%> (-2.28%) 16.00% <0.00%> (-1.00%)
...ernal/operators/flowable/FlowableFromIterable.java 97.91% <0.00%> (-2.09%) 5.00% <0.00%> (ø%)
...ternal/operators/observable/ObservableGroupBy.java 98.36% <0.00%> (-1.64%) 2.00% <0.00%> (ø%)
...operators/observable/ObservableMergeWithMaybe.java 99.09% <0.00%> (-0.91%) 2.00% <0.00%> (ø%)
...nternal/operators/observable/ObservableCreate.java 99.14% <0.00%> (-0.86%) 2.00% <0.00%> (ø%)
... and 14 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 14a9525...26d1480. Read the comment docs.

@akarnokd akarnokd merged commit c478097 into ReactiveX:3.x Apr 4, 2020
@akarnokd akarnokd deleted the ObservableFlatMapScalarMaxConcurrentFix branch April 4, 2020 09:29
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.

Deadlock
2 participants