Сервер RestServiceJerseyExecutorProvider на базе Jetty застрял при чтении полезной нагрузки из запроса HTTPS

#java #ssl #jersey #jetty #jetty-8

#java #ssl #джерси #jetty #jetty-8

Вопрос:

У меня есть служба REST, основанная на соединителе Jetty HTTPS.

Когда я запускаю эту службу, используя SOAP UI, для 200 полных запусков всего с 1 потоком, время ожидания пары запросов прерывается, поскольку java.net.SocketTimeoutException: время ожидания чтения на клиенте SOAP UI истекло. SOAPUI_Conf

На сервере при чтении полезной нагрузки из объекта запроса с помощью

 // Prints Log 1
String payload = org.glassfish.jersey.message.internal.ReaderWriter.readFromAsString(InputStream in, MediaType type)
// Prints Log 2
 

Я видел, что временной интервал между Log1 и Log 2 постоянно составляет 1 минуту, когда время ожидания запроса истекает на стороне клиента.

Итак, я попытался получить дамп потока в точное время и нашел один из потоков, как показано ниже stack-trace ==>

 "bw-flowlimit-executor-provider-17" #222 prio=5 os_prio=0 tid=0x0000000019deb800 nid=0x1468 in Object.wait() [0x000000002f1be000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.blockReadable(SelectChannelEndPoint.java:449)
    - locked <0x00000000f6a58878> (a org.eclipse.jetty.io.nio.SelectChannelEndPoint)
    at org.eclipse.jetty.io.nio.SslConnection$SslEndPoint.blockReadable(SslConnection.java:714)
    at org.eclipse.jetty.http.HttpParser.blockForContent(HttpParser.java:1197)
    at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:61)
    at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
    - locked <0x00000000ee57dfd0> (a java.io.InputStreamReader)
    at java.io.InputStreamReader.read(InputStreamReader.java:184)
    at java.io.Reader.read(Reader.java:140)
    at org.glassfish.jersey.message.internal.ReaderWriter.readFromAsString(ReaderWriter.java:175)
    at org.glassfish.jersey.message.internal.ReaderWriter.readFromAsString(ReaderWriter.java:160)
    at com.myCorp.myPrd.myPackage.BaseInflector.apply(BaseInflector.java:488)
    at com.myCorp.myPrd.myPackage.BaseInflector.apply(BaseInflector.java:1)
    at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.access$100(ResourceMethodInvoker.java:102)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker$2.call(ResourceMethodInvoker.java:336)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker$2.call(ResourceMethodInvoker.java:333)
    at org.glassfish.jersey.server.ServerRuntime$AsyncResponder$2$1.run(ServerRuntime.java:865)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
    at org.glassfish.jersey.server.ServerRuntime$AsyncResponder$2.run(ServerRuntime.java:860)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

   Locked ownable synchronizers:
    - <0x00000000c31e31f0> (a java.util.concurrent.ThreadPoolExecutor$Worker)
 

Сведения о причале ==> «Сервер: Причал (8.1.16.v20140903)»

И странная вещь заключается в том, что время ожидания этого прерывистого запроса НЕ ОТОБРАЖАЕТСЯ ДЛЯ СЦЕНАРИЯ, ОТЛИЧНОГО ОТ SSL.

ОТРЕДАКТИРОВАНО ==> Добавлен журнал на стороне сервера для точного запроса, время ожидания которого истекло на стороне клиента.

 2020-12-04 16:17:14.803 DEBUG [bw-flowlimit-executor-provider-56] c.t.b.b.r.r.jersey.BaseInflector - MyCorp-MyPrd-MyComponent-REST-200004: Request Received for Operation [post]
2020-12-04 16:17:14.803 DEBUG [bwResourceHTTPConnector.qtp-125] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=16421/0/0 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=16421/16421 flushed=0/0
2020-12-04 16:17:14.804 DEBUG [bwResourceHTTPConnector.qtp-125] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] unwrap OK NOT_HANDSHAKING consumed=16421 produced=16384
2020-12-04 16:17:14.804 DEBUG [bwResourceHTTPConnector.qtp-125] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/16384 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=0/0 flushed=0/0
2020-12-04 16:17:14.804 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.http.HttpParser - filled 16384/16384
2020-12-04 16:17:14.804 DEBUG [bwResourceHTTPConnector.qtp-125] o.e.jetty.server.AsyncHttpConnection - suspended AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82
2020-12-04 16:17:14.804 DEBUG [bwResourceHTTPConnector.qtp-125] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] handle SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/0 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} progress=false
2020-12-04 16:17:14.804 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/0 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=0/0 flushed=0/0
2020-12-04 16:17:14.804 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.http.HttpParser - filled 0/0
2020-12-04 16:17:14.804 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=16421/0/0 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=16421/16421 flushed=0/0
2020-12-04 16:17:14.804 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] unwrap OK NOT_HANDSHAKING consumed=16421 produced=16384
2020-12-04 16:17:14.804 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/0 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=0/0 flushed=0/0
2020-12-04 16:17:14.804 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.http.HttpParser - filled 16384/16384
2020-12-04 16:17:14.804 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/0 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=0/0 flushed=0/0
2020-12-04 16:17:14.804 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.http.HttpParser - filled 0/0
2020-12-04 16:17:14.805 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/0 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=0/0 flushed=0/0
2020-12-04 16:17:14.805 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.http.HttpParser - filled 0/0
2020-12-04 16:17:14.805 DEBUG [bwResourceHTTPConnector.qtp-123] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=14789/0/0 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=14789/14789 flushed=0/0
2020-12-04 16:17:14.805 DEBUG [bwResourceHTTPConnector.qtp-123] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] unwrap OK NOT_HANDSHAKING consumed=14789 produced=14753
2020-12-04 16:17:14.805 DEBUG [bwResourceHTTPConnector.qtp-123] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=0/0 flushed=0/0
2020-12-04 16:17:14.805 DEBUG [bwResourceHTTPConnector.qtp-123] o.e.jetty.server.AsyncHttpConnection - suspended AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82
2020-12-04 16:17:14.805 DEBUG [bwResourceHTTPConnector.qtp-123] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] handle SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} progress=false
2020-12-04 16:17:14.805 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=0/0 flushed=0/0
2020-12-04 16:18:14.807 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=37/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=37/37 flushed=0/0
2020-12-04 16:18:14.809 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] unwrap CLOSED NEED_WRAP consumed=37 produced=0
2020-12-04 16:18:14.810 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - unwrap CLOSE SslConnection@513197d9 SSL NEED_WRAP i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} Status = CLOSED HandshakeStatus = NEED_WRAP
bytesConsumed = 37 bytesProduced = 0
2020-12-04 16:18:14.810 DEBUG [bw-flowlimit-executor-provider-56] o.e.jetty.io.nio.ChannelEndPoint - ishut SCEP@7d12c122{l(/127.0.0.1:21918)<->r(/127.0.0.1:8085),s=1,open=true,ishut=false,oshut=false,rb=false,wb=false,w=true,i=1r}-{SslConnection@513197d9 SSL NEED_WRAP i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82}}
2020-12-04 16:18:14.811 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NEED_WRAP i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NEED_WRAP filled=-1/0 flushed=0/0
2020-12-04 16:18:14.811 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] wrap CLOSED NOT_HANDSHAKING consumed=0 produced=37
2020-12-04 16:18:14.811 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - wrap CLOSE SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/37/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} Status = CLOSED HandshakeStatus = NOT_HANDSHAKING
bytesConsumed = 0 bytesProduced = 37
2020-12-04 16:18:14.812 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=-1/0 flushed=37/0
2020-12-04 16:18:14.813 DEBUG [bw-flowlimit-executor-provider-56] o.e.jetty.io.nio.ChannelEndPoint - oshut SCEP@7d12c122{l(/127.0.0.1:21918)<->r(/127.0.0.1:8085),s=1,open=true,ishut=true,oshut=false,rb=false,wb=false,w=true,i=1r}-{SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82}}
2020-12-04 16:18:14.813 DEBUG [bw-flowlimit-executor-provider-56] o.e.jetty.io.nio.ChannelEndPoint - close SCEP@7d12c122{l(/127.0.0.1:21918)<->r(/127.0.0.1:8085),s=1,open=true,ishut=true,oshut=true,rb=false,wb=false,w=true,i=1!}-{SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82}}
2020-12-04 16:18:14.813 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=-1/0 flushed=0/0
2020-12-04 16:18:14.814 DEBUG [bwResourceHTTPConnector.qtp-119 Selector0] org.eclipse.jetty.io.nio - destroyEndPoint SCEP@7d12c122{l(null)<->r(0.0.0.0/0.0.0.0:8085),s=1,open=false,ishut=true,oshut=true,rb=false,wb=false,w=true,i=1!}-{SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82}}
2020-12-04 16:18:14.814 DEBUG [bwResourceHTTPConnector.qtp-119 Selector0] o.e.j.server.AbstractHttpConnection - closed AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82
2020-12-04 16:18:14.814 DEBUG [bwResourceHTTPConnector.qtp-129] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/14753 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82} NOT_HANDSHAKING filled=-1/0 flushed=0/0
2020-12-04 16:18:14.814 DEBUG [bw-flowlimit-executor-provider-56] org.eclipse.jetty.http.HttpParser - filled 14753/14753
2020-12-04 16:18:14.814 DEBUG [bwResourceHTTPConnector.qtp-129] o.e.jetty.server.AsyncHttpConnection - suspended AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=2,l=34,c=47522},r=82
2020-12-04 16:18:14.814 DEBUG [bwResourceHTTPConnector.qtp-129] org.eclipse.jetty.io.nio.ssl - [Session-1, SSL_NULL_WITH_NULL_NULL] handle SslConnection@513197d9 SSL NOT_HANDSHAKING i/o/u=0/0/0 ishut=false oshut=false {AsyncHttpConnection@11e9d4e5,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=0,l=34,c=47522},r=82} progress=false
2020-12-04 16:18:14.815 DEBUG [bw-flowlimit-executor-provider-56] c.t.b.b.r.r.jersey.BaseInflector - MyCorp-MyPrd-MyComponent-REST-200008: Payload for Request
 

Комментарии:

1. Jetty 8.1.x — это EOL (конец срока службы) — рассмотрите возможность обновления — eclipse.org/jetty/documentation/current/#what-jetty-version

2. Привет @JoakimErdfelt, IK Jetty 8.1.X — это EOL, но просто хочу подтвердить, действительно ли это проблема на стороне Jetty или что-то еще. Я просмотрел множество ссылок и узнал, что многие проблемы, связанные с SSL на уровне ввода-вывода, были исправлены в версии 9.X. Так что, возможно, это один из них. Пожалуйста, не могли бы вы дать мне какие-нибудь ссылки на один из таких. Если это проблема с причалом, то обновление — единственный выход.

3. Когда дело доходит до поддержки SSL / TLS на Java, вы должны быть в курсе последних событий как в JVM (обратите внимание на даты истечения срока действия в выпусках JVM), так и в Jetty, чтобы быть в курсе эволюции спецификаций SSL / TLS в более широком сообществе (что происходит на удивление часто).

4. Очень верно @JoakimErdfelt согласился. Можно ли сделать вывод, что это проблема Jetty 8? Также обратите внимание, что у нас есть более поздняя версия нашего продукта с Jetty 9.X, где его невозможно воспроизвести. Но я не уверен, что Jetty может быть единственным виновником, поскольку в нашем более позднем продукте также есть много других обновлений. Ваш вердикт имеет большое значение, поскольку вы являетесь основным участником Jetty 🙂

5. Учитывая ограниченную предоставленную вами информацию, это вряд ли будет проблемой Jetty, поскольку она указывает либо на вашу JVM, вашу ОС, либо на ваши сторонние библиотеки в качестве виновника.