Storm0.9.1以上版本开始默认使用netty作为消息传输,之前版本是用zmq。
我们线上的基于storm 的日志ETL 任务运行一段时间偶尔会出现netty 传输超时达到最大次数31次,导致Thread.sleep( sleepMs) 里面sleep值为负数的exception (timeout value is negative)
,经过对storm netty Client的源码阅读,发现是由于int数溢出导致的。
相关源码文件: backtype.storm.messaging.netty.Client