-
Notifications
You must be signed in to change notification settings - Fork 2k
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
[DO NOT MERGE] Upgrade Reactor and Reactor Netty dependencies #43367
base: main
Are you sure you want to change the base?
Conversation
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.
please check branch, there seems to be more changes than expected.
I see changes to deid TelemetryHelper.java
Never mind delta view lead me to believe it was deid code.
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.
LGTM to mgmt libs.
There appears CI fails in core, currently?
Yeah, there was a change to Reactor Netty at some point where it began to add |
@alzimmermsft Can you point me to the test that passes with Reactor Netty 1.0.48 and fails with Reactor Netty 1.2.1? |
Thanks for reaching out on this @violetagg! I left out some clarifying bits, given I was replying to Weidong. This is 100% our own problem and not an issue, per se, with how Reactor Netty is adding That last sentence is where we had issues with the upgrade, with the change where |
I asked because I don't remember any change in this functionality (we always were adding |
@violetagg I did some additional investigation and there does seem to be a slight runtime behavior change. I broke down our usage of Reactor Netty to this very simple reproducer: public class ReactorNettyContentLength {
public static void main(String[] args) {
DisposableServer server = HttpServer.create().host("localhost").handle((request, response) -> {
request.requestHeaders().forEach(header -> System.out.println(header.getKey() + ": " + header.getValue()));
return response.status(200).send();
}).bindNow();
HttpClient httpClient = HttpClient.create();
httpClient.request(HttpMethod.GET)
.uri(server.host() + ":" + server.port())
.send((request, outbound) -> {
request.requestHeaders().set("Accept", "application/json");
return outbound;
})
.response()
.block();
}
} When running using our current dependency of Reactor Netty
When running using Reactor Netty
So, it does appear there is a slight runtime behavioral change with regards to how I've filed this corresponding issue: reactor/reactor-netty#3603 |
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.
@alzimmermsft since this is a big change and will affect cosmos db java sdks and its connectors, can we please not merge this PR until we have also done verification on cosmos SDKs (by running our full test suite)?
We can run them and look into the results, please let us know once this is ready to be merged so that we don't overstep on your current investigation.
Will let you know when this PR gets closer to being merged in @kushagraThapar. We've identified a few regressions we're working through that we're blocking this PR on at this time. I'd expect this to be ready for merge around the late March / early April timeframe when we're going to begin gearing up for our May releases. |
thanks @alzimmermsft for the update, this inlines with our expectation on the timelines. Looking forward to this upgrade in the May timeline. |
This change is meant for May timeline and we will review it closely once this PR is closer to be merged in.
Description
This PR is upgrading Reactor dependencies from
3.4.41
to3.7.1
and Reactor Netty from1.0.48
to1.2.1
. This is being done as the previous Reactor and Reactor Netty minor versions,3.4.x
and1.0.x
respectively, are end of life and no longer receiving updates.The Azure SDKs will continue to perform version validation tests using Reactor versions
3.4.15
,3.5.0
, and3.6.0
and Reactor Netty versions1.0.0
and1.1.0
to ensure a baseline compatibility with common ecosystems such as Spring which leverage Reactor as well.Looking forward into the future, eventually validation for Reactor
3.4.15
and Reactor Netty1.0.0
can be dropped once Spring Framework 5.3 and Spring Boot 2.7 reach end of life for commercial support.And possibly other versions could be dropped as well depending on ecosystem support for them in maintained versions.
All SDK Contribution checklist:
General Guidelines and Best Practices
Testing Guidelines