Skip to content

switch to grpc-netty-shaded #21470

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

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

switch to grpc-netty-shaded #21470

wants to merge 2 commits into from

Conversation

remyhaemmerle-da
Copy link
Collaborator

@remyhaemmerle-da remyhaemmerle-da requested a review from a team as a code owner July 4, 2025 06:57
@adrien-piquerez-da
Copy link
Contributor

adrien-piquerez-da commented Jul 8, 2025

What's the motivation for this? Do we have any conflict at the moment or is this a quality of life improvement?

Also do we know how big is the grpc-netty-shaded compared to grpc-netty?

@remyhaemmerle-da
Copy link
Collaborator Author

remyhaemmerle-da commented Jul 9, 2025

This switches to grpc-netty-shaded is a proactive quality of life improvement to prevent dependency conflicts. It isolates the version of Netty that gRPC uses, avoiding potential clashes with other versions that might exist on the classpath. This prevents hard-to-debug runtime issues.

Concerning the size, we're swapping a group of smaller Netty jars for a single, larger, self-contained one, so they should no impact.

@adrien-piquerez-da
Copy link
Contributor

Concerning the size, we're swapping a group of smaller Netty jars for a single, larger, self-contained one, so they should no impact.

Not for us, but it has an impact for those users that use Netty, as they now need to download it twice.

@remyhaemmerle-da
Copy link
Collaborator Author

remyhaemmerle-da commented Jul 10, 2025

Not for us, but it has an impact for those users that use Netty, as they now need to download it twice.

You're right, this will impact clients that use Netty directly together with our gRPC libraries or the Java code generated.

Together with @rgugliel-da and @soren-da, we judged this trade-off was acceptable. The decision was based on two key factors:

  • It's the recommended approach.
  • This change allows clients to use a different version of Netty than the one gRPC uses. This is critical for addressing vulnerabilities. The recent CVE-2025-24970 netty vulnerability is a perfect example. While gRPC's specific use of Netty is not affected, the client's direct use of it could be. This change empowers the client to update is own Netty dependency immediately, without being blocked waiting for a gRPC release that uses a non vulnerable version of Netty.

@remyhaemmerle-da remyhaemmerle-da marked this pull request as draft July 10, 2025 11:33
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