Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion spannerlib/wrappers/spannerlib-java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-epoll</artifactId>
<version>4.2.8.Final</version>
<version>4.2.9.Final</version>
</dependency>
Comment on lines 64 to 68
Copy link
Contributor

Choose a reason for hiding this comment

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

critical

This pull request updates netty-transport-native-epoll to version 4.2.9.Final. However, this version appears to be very old (from ~2017) and is being explicitly defined, which overrides the version managed by the grpc-bom. The grpc-bom (version 1.77.0) in your dependencyManagement section manages Netty 4.1.112.Final, which is much more recent and secure.

Pinning an old version of a critical networking library like Netty can cause several problems:

  • Runtime Instability: Mismatched versions between gRPC and Netty can lead to subtle bugs or runtime errors like NoSuchMethodError.
  • Security Risks: Old library versions often contain known security vulnerabilities that have been patched in newer releases.

To resolve this and improve dependency management, it's best to let the grpc-bom control the Netty version. This ensures compatibility across your gRPC dependencies.

I recommend removing the explicit <version> tag for this dependency and letting the BOM manage it.

    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-transport-native-epoll</artifactId>
    </dependency>

<!-- Dependencies for using C library -->
<dependency>
Expand Down