Skip to content

Commit

Permalink
release hotfix: Adapt to MonoSubscriber not fusing by default
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
violetagg committed Nov 8, 2022
1 parent ded3738 commit b01e3ed
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[versions]
reactorCore = "3.4.22-SNAPSHOT"
reactorCore = "3.4.24-SNAPSHOT"
reactorAddons = "3.4.9-SNAPSHOT"
# Other shared versions
kotlin = "1.5.32"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,16 +97,17 @@ class RxJava2AdapterExtTest {
.assertNotComplete()
}

@Test
fun `Single to Mono`() {
Single.just(1)
.toMono()
.test()
.expectFusion(Fuseable.ANY, Fuseable.ASYNC)
.expectNext(1)
.expectComplete()
.verify()
}
// FIXME
// @Test
// fun `Single to Mono`() {
// Single.just(1)
// .toMono()
// .test()
// .expectFusion(Fuseable.ANY, Fuseable.ASYNC)
// .expectNext(1)
// .expectComplete()
// .verify()
// }

@Test
fun `Observable to Flux`() {
Expand Down

0 comments on commit b01e3ed

Please sign in to comment.