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

Multiple calls to Mono.doOnSuccess if on reduce operation #230

Closed
jurna opened this issue Oct 25, 2016 · 3 comments
Closed

Multiple calls to Mono.doOnSuccess if on reduce operation #230

jurna opened this issue Oct 25, 2016 · 3 comments
Labels
type/bug A general bug
Milestone

Comments

@jurna
Copy link

jurna commented Oct 25, 2016

Multiple calls to Mono.doOnSuccess is called (one with null, one with value) if reduce is used on Scheduled flux.
Test case: https://gist.github.com/jurna/353a2bd8ff83f0b24f0b5bc772077d61

simonbasle added a commit that referenced this issue Oct 25, 2016
Rework the Operators.MonoSubscriber code to use more resilient logic,
notably using a single volatile state with bitwise logic. This impacts
complete(), poll() and request(n) methods mostly.
@smaldini smaldini modified the milestone: 3.0.3.RELEASE Oct 27, 2016
@jurna
Copy link
Author

jurna commented Oct 28, 2016

Issue still exist (both in 3.0.3 and master). Provided unit test still fails. The one that is committed into reactor-core is changed slightly (changes in blockingOp) and passes.

@smaldini smaldini modified the milestones: 3.0.4.RELEASE, 3.0.3.RELEASE Oct 28, 2016
@smaldini smaldini reopened this Oct 28, 2016
@smaldini
Copy link
Contributor

Ha misery it escaped our testing then, the initial fix we had locally did fix this version then we tried to include the updated design from @akarnokd and also made sure the test was testing parallelism (constant blocking wasn't showing parallelism). We'll have a look, very sorry about this, as a workaround you can hide() after reduce.

@smaldini smaldini added the type/bug A general bug label Oct 28, 2016
@smaldini
Copy link
Contributor

Alternatively you can replace doOnSuccess by doOnNext

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/bug A general bug
Projects
None yet
Development

No branches or pull requests

2 participants