項目使用httpclient4.3.3,突然有天發現推送線程池排隊,通過jstack 定位到httpclient進行ssl連接時發生阻塞。httpclient 的SocketTimeout 和 ConnectTimeout都有設置。
後分析查找,確認是httpclient4.3.3的bug,
見 https://issues.apache.org/jira/browse/HTTPCLIENT-1478
大概原因是由於ssl握手失敗,導致設置的超時時間無效。進而引發現場阻塞,導致線程池線程被佔滿
項目使用httpclient4.3.3,突然有天發現推送線程池排隊,通過jstack 定位到httpclient進行ssl連接時發生阻塞。httpclient 的SocketTimeout 和 ConnectTimeout都有設置。
後分析查找,確認是httpclient4.3.3的bug,
見 https://issues.apache.org/jira/browse/HTTPCLIENT-1478
大概原因是由於ssl握手失敗,導致設置的超時時間無效。進而引發現場阻塞,導致線程池線程被佔滿