9

在通过 HTTP/2 测试 Open JDK 11 HTTP 客户端时,会出现一个看起来像 JDK 11 错误的服务器端错误。

该测试针对 Tomcat 9 服务器运行多个线程,测试所有线程是否使用 HTTP/2 和 TLS1.3。

值得关注的是错误在“sun.security.ssl.SSLHandshake.produce”内部,这意味着它不是 Tomcat,而是 JDK 导致了错误。

任何人都可以确认您在对 JDK 11 的 HTTP 层进行负载测试时也有同样的经历吗?如果是这样,我会向 Open JDK 团队报告。

该错误仅在运行负载测试时才明显:

java.util.NoSuchElementException: No value present
        at java.base/java.util.Optional.get(Optional.java:148) ~[na:na]
        at java.base/sun.security.ssl.ServerHello$T13ServerHelloProducer.produce(ServerHello.java:551) ~[na:na]
        at java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436) ~[na:na]
        at java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.goServerHello(ClientHello.java:1224) ~[na:na]
        at java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.consume(ClientHello.java:1160) ~[na:na]
        at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:849) ~[na:na]
        at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:810) ~[na:na]
        at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) ~[na:na] ...

这个github项目用于测试。有关更多详细信息,请参阅项目自述文件。

4

0 回答 0