-
Notifications
You must be signed in to change notification settings - Fork 21
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
release hotfix: Adapt to MonoSubscriber not fusing by default #53
Conversation
In reactor-core, `Operators.MonoSubscriber` has stopped implementing ASYNC fusion as a base. It continues to be compatible with Fuseable publishers but now by default only negotiates `Fuseable.NONE`. Some RxJava adapter classes don't really have a way of propagating the fusion up to RxJava and used to rely on the default ASYNC capability of MonoSubscriber, testing that `requestFusion` would indeed negotiate that. Now that it negotiates NONE, said tests fail. This commit removes the tests and adds a FIXME as a more in depth follow up to this issue (where we can evaluate if it makes sense to keep the publishers Fuseable). Also update to latest 3.4.x core snapshot. See reactor/reactor-core#3245.
// FIXME | ||
// @Test | ||
// fun `Single to Mono`() { | ||
// Single.just(1) | ||
// .toMono() | ||
// .test() | ||
// .expectFusion(Fuseable.ANY, Fuseable.ASYNC) | ||
// .expectNext(1) | ||
// .expectComplete() | ||
// .verify() | ||
// } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the test can be kept around to validate onNext/onComplete are translated, but simply removing the assertion of fusion negotiation:
// FIXME | |
// @Test | |
// fun `Single to Mono`() { | |
// Single.just(1) | |
// .toMono() | |
// .test() | |
// .expectFusion(Fuseable.ANY, Fuseable.ASYNC) | |
// .expectNext(1) | |
// .expectComplete() | |
// .verify() | |
// } | |
@Test | |
fun `Single to Mono`() { | |
Single.just(1) | |
.toMono() | |
.test() | |
.expectNext(1) | |
.expectComplete() | |
.verify() | |
} |
Note also that the Fuseable
trait removal will be dealt with via the reactor-addons issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
In reactor-core,
Operators.MonoSubscriber
has stopped implementing ASYNC fusion as a base. It continues to be compatible with Fuseable publishers but now by default only negotiatesFuseable.NONE
.Some RxJava adapter classes don't really have a way of propagating the fusion up to RxJava and used to rely on the default ASYNC capability of MonoSubscriber, testing that
requestFusion
would indeed negotiate that. Now that it negotiates NONE, said tests fail.This commit removes the tests and adds a FIXME as a more in depth follow up to this issue (where we can evaluate if it makes sense to keep the publishers Fuseable).
Also update to latest 3.4.x core snapshot.
See reactor/reactor-core#3245.