diff --git a/.changes/next-release/bugfix-NettyNIOHTTPClient-6918c48.json b/.changes/next-release/bugfix-NettyNIOHTTPClient-6918c48.json new file mode 100644 index 000000000000..85893b87d20c --- /dev/null +++ b/.changes/next-release/bugfix-NettyNIOHTTPClient-6918c48.json @@ -0,0 +1,6 @@ +{ + "type": "bugfix", + "category": "Netty NIO HTTP Client", + "contributor": "", + "description": "Fix `NettyNioAsyncHttpClient` errors when making requests in GraalVM native images, which can lead to timeout exceptions." +} diff --git a/http-clients/netty-nio-client/src/main/resources/META-INF/native-image/software.amazon.awssdk/netty-nio-client/native-image.properties b/http-clients/netty-nio-client/src/main/resources/META-INF/native-image/software.amazon.awssdk/netty-nio-client/native-image.properties index 1c7d1b66ae00..1e43c501d3bb 100644 --- a/http-clients/netty-nio-client/src/main/resources/META-INF/native-image/software.amazon.awssdk/netty-nio-client/native-image.properties +++ b/http-clients/netty-nio-client/src/main/resources/META-INF/native-image/software.amazon.awssdk/netty-nio-client/native-image.properties @@ -12,6 +12,8 @@ # express or implied. See the License for the specific language governing # permissions and limitations under the License. # +# Needed because native-maven-plugin's metadata repository excludes netty's own +# '--initialize-at-build-time=io.netty', leaving jctools queues to fail at run time. Args=--allow-incomplete-classpath \ --initialize-at-run-time=io.netty.internal.tcnative.SSL,\ io.netty.internal.tcnative.CertificateVerifier,\ @@ -19,4 +21,5 @@ Args=--allow-incomplete-classpath \ io.netty.internal.tcnative.SSLPrivateKeyMethod,\ io.netty.handler.ssl.OpenSslPrivateKeyMethod,\ io.netty.handler.ssl.ReferenceCountedOpenSslEngine,\ - io.netty.handler.ssl.OpenSslAsyncPrivateKeyMethod + io.netty.handler.ssl.OpenSslAsyncPrivateKeyMethod \ + --initialize-at-build-time=io.netty.util.internal.shaded.org.jctools