forked from reactor/reactor-core
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix reactor#1959 GroupedFlux fused with parallel() not replenishing p…
…roperly Fix a case when the `GroupedFlowable` is consumed by a `parallel()` in fusion mode causing the source to stop replenishing items from the upstream, hanging the whole sequence. `parallel()` was slightly different from the usual queue consumers because it checks for `isEmpty` before trying to `pull` for an item. This was necessary because the rails may not be ready for more and an eager `pull` to check for emptyness would lose that item. The replenishing was done in `GroupedFlowable.pull` but a call to `GroupedFlowable.isEmpty` would not replenish. The fix is to have `isEmpty` replenish similar to when `poll` detects emptyness and replenishes.
- Loading branch information
1 parent
b220eb8
commit 1435284
Showing
2 changed files
with
40 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters