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

Netty 4.1 Optimizations #7942

Merged
merged 1 commit into from
Feb 22, 2023
Merged

Conversation

franz1981
Copy link
Contributor

@franz1981 franz1981 commented Feb 22, 2023

These changes are partially related https://redhatperf.github.io/post/type-check-scalability-issue/ and are mostly
limits of the JDK platform (still to be addressed, see https://bugs.openjdk.org/browse/JDK-8180450).

Said that, luckly, they can be fixed in user code easily and these are the changes addressing both proper scalability issue(s) and inefficient handling of type check (while an interface type is not implemented by a concrete type).

The changes are saving:

  • DefaultHttpRequest instanceof HttpResponse on HttpObjectDecoder::isContentAlwaysEmpty
  • DefaultFullHttpResponse instanceof HttpRequest on HttpResponseEncoder::acceptOutboundMessage
  • LastHttpContent.EMPTY_LAST_CONTENT instanceof HttpRequest on HelloServerHandler::channelRead
  • DefaultHttpRequest instanceof ReferenceCounted on ReferenceCountUtil.release's (still in HelloServerHandler::channelRead)

While there's another one that cannot be fixed here, but it will be in Netty, directly:

This PR is bumping to the latest Netty release and its io_uring incubator as well.

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.

2 participants