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

Flux.replay / Flux.cache hangs or serves wrong values due to regressions in 3.3.[0-2] #2030

Closed
2 tasks done
simonbasle opened this issue Feb 4, 2020 · 0 comments
Closed
2 tasks done
Labels
type/bug A general bug warn/regression A regression from a previous release
Milestone

Comments

@simonbasle
Copy link
Member

simonbasle commented Feb 4, 2020

In 3.3.0, #1185 introduced a change that aims at performing the minimum necessary request on a cached/replayed source upon connect. Comparing to Californium where the source would always be requested by Long.MAX_VALUE upon connection, 3.3.0 would attempt to take the maximum requested amount from early subscribers, ie these that subscribed to the ConnectableFlux before connect() is called.

There was several bugs with that new implementation, that led to underrequesting and hanging:

@simonbasle simonbasle added type/bug A general bug warn/regression A regression from a previous release labels Feb 4, 2020
@simonbasle simonbasle added this to the 3.3.3.RELEASE milestone Feb 4, 2020
simonbasle added a commit that referenced this issue Feb 4, 2020
This commit ensures that Flux.replay falls back to the 3.2.x behavior
of requesting Long.MAX_VALUE when no early subscriber emitted requests
before the `connect()`.

Also fixes #2028
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/bug A general bug warn/regression A regression from a previous release
Projects
None yet
Development

No branches or pull requests

1 participant