quartz blocked
现象-所有quartz的job(Hour/Minute等失去作用 无相关任何log输出)
jstack 发现:所有的quartz线程都在MinuteJob.execute#PrometheusService.pushgateway
最终阻塞在SocketInputStream.socketRead0
注意此时线程阻塞 但是状态是runnable
因为线程就new/runnable/blocked#synchronized/waiting#Object.wait/TIMED_WAITING#sleep.../TERMINATED
所以即使类似调用socket.read时 线程会挂起 但此时状态还是runnable
"DefaultQuartzScheduler_Worker-9" #40 prio=5 os_prio=0 tid=0x00007f38ecd51800 nid=0x5a5d runnable [0x00007f38c94c8000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:170)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)</