记一次Netty连接池FixedChannelPool连接未释放问题的排查总结
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 作者丨源码笔记 来源丨源码笔记 1 前言 前几天我们又遇到了一个 Netty 报从连接池获取连接超时异常从而导致整个服务不可用的异常,报的具体异常信息是 Exception accurred when acquire channel from channel pool:TimeoutException 。当时自己看了这个异常信息,有种似曾相识的感觉,印象中自己第一次接触到该异常是不久前也遇到了 Netty 报超时错误导致整个服务不可用的问题,最终只能重启服务器来解决。于是自己去翻看了之前的异常消息,发现报的错误果真同样是从连接池获取连接超时的异常!印象中前段时间Netty报这个错误时是刚好相关网络部门做过网络调整,当时我们就认为可能是由于网络原因导致Netty获取连接超时,但是至于为啥会因为网络原因导致获取Netty连接超时后从而导致服务不可用就还是一无所知,因此,这个“幽灵”Bug暂时对我们来说成了一团谜。 2 “幽灵”Bug得以复现给了我们解决这个Bug的希望 万幸的是,这次相关同事复现了这个Bug,然后对方说只要在 并发量大一点且后台业务逻辑处理时间久 的话这个Bug就会复现,且这个Bug是伴随前台线程请求后台超时(