Skip to content

Conversation

@srnagar
Copy link
Member

@srnagar srnagar commented Sep 27, 2019

OkHttpClient and NettyClient tests were failing after upgrading to new reactor version.

Copy link
Member

@JonathanGiles JonathanGiles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, asking @anuchandy to take a look as well.

@srnagar
Copy link
Member Author

srnagar commented Sep 27, 2019

/azp run java - core - ci

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anuchandy
Copy link
Member

LGTM.

Some context:

  1. Behaviour of Mono created from "using" factory changed in this release of reactor-core. In previous version, resource clean up used to be lazy by default which means upstream will wait for all downstream applied operators to complete then release the resource. In new version, default became eager means resource get clean up as soon as immediate operator is done. This was causing response body to be closed before we get a chance to consume it.

  2. In old and new release, reactor-netty's ByteBufFlux is one shot means can be consumed only once. In old release second consumption throws error (like we try to read from closed socket). In new version, after first subscription connection is recycled but second consumption gets mono.empty, no more error

@anuchandy
Copy link
Member

It's a breaking change, if any customer applied resumeOnError on flux backed by ByteBufFlux then this operator is no-op in new release :(

@srnagar srnagar merged commit 1c42f15 into Azure:master Sep 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants