Jetty 9泄漏线程和连接并停止响应

时间:2018-09-26 15:23:57

标签: jetty threadpool embedded-jetty jetty-9 connection-leaks

我们将Jetty 9用作Java 8 VM中的嵌入式Web服务器。有时会发生以下情况:

  1. (Windows)进程的线程数开始以稳定的速度增长
  2. 此后的一段时间,Jetty停止响应HTTP(TLS)请求。
  3. 此后,线程仍会增加一会儿,然后在300左右停止增长(此过程中大约有100个非码头线程)。
  4. 同时响应停止,以下消息序列正好每2分钟开始重复记录一次,并且永不停止:

    2018-09-22 00:00:47调试[Scheduler-7519289] org.eclipse.jetty.io.IdleTimeout:156-SelectChannelEndPoint @ be1c72 {/192.168.37.61:12421 <-> 444,Open,in, out,-,-,120001/120000,SslConnection @ 16ad018} {io = 0/0,kio = 0,kro = 1}空闲超时检查,已过去:120001 ms,剩余时间:-1 ms

    2018-09-22 00:00:47调试[Scheduler-7519289] org.eclipse.jetty.io.IdleTimeout:163-SelectChannelEndPoint @ be1c72 {/192.168.37.61:12421 <-> 444,Open,in, out,-,-,120002/120000,SslConnection @ 16ad018} {io = 0/0,kio = 0,kro = 1}空闲超时已过期

    2018-09-22 00:00:47调试[Scheduler-7519289] org.eclipse.jetty.io.WriteFlusher:473-已忽略:WriteFlusher @ 2527cb {IDLE} {}

    2018-09-22 00:00:47调试[Scheduler-7519289] org.eclipse.jetty.io.AbstractEndPoint:186-忽略的空闲端点SelectChannelEndPoint @ be1c72 {/192.168.37.61:12421 <-> 444,Open ,in,out,-,-,120004/120000,SslConnection @ 16ad018} {io = 0/0,kio = 0,kro = 1}

    ...

    2018-09-22 00:02:47调试[Scheduler-7519289] org.eclipse.jetty.io.IdleTimeout:156-SelectChannelEndPoint @ be1c72 {/192.168.37.61:12421 <-> 444,Open,in, out,-,-,120002/120000,SslConnection @ 16ad018} {io = 0/0,kio = 0,kro = 1}空闲超时检查,已过去:120002 ms,剩余时间:-2 ms

    2018-09-22 00:02:47调试[Scheduler-7519289] org.eclipse.jetty.io.IdleTimeout:163-SelectChannelEndPoint @ be1c72 {/192.168.37.61:12421 <-> 444,Open,in, out,-,-,120002/120000,SslConnection @ 16ad018} {io = 0/0,kio = 0,kro = 1}空闲超时已过期

    2018-09-22 00:02:47调试[Scheduler-7519289] org.eclipse.jetty.io.WriteFlusher:473-已忽略:WriteFlusher @ 2527cb {IDLE} {}

    2018-09-22 00:02:47调试[Scheduler-7519289] org.eclipse.jetty.io.AbstractEndPoint:186-忽略空闲端点SelectChannelEndPoint @ be1c72 {/192.168.37.61:12421 <-> 444,Open ,in,out,-,-,120003/120000,SslConnection @ 16ad018} {io = 0/0,kio = 0,kro = 1}

上面记录的序列大约记录了200个唯一的SelectChannelEndPoint对象(也记录了大约200个唯一的客户端IP:端口组合)。

版本:9.3.22和9.3.25。这些是TLS连接。

我们不更改默认线程池大小。

清除空闲连接似乎有一个错误有时会出现-不是从头开始的-在上述问题序列开始之前,有很多一次性清除空闲连接的事情。

请帮助!这是一个已知的错误(我在互联网上找不到任何东西)吗?

还有哪些其他诊断信息可以帮助您找出问题所在?

0 个答案:

没有答案