终端EIA portal认证,偶发报错向portalserver发送请求超时。
收集AC日志分析,AC给服务器发48号的mac-trigger无感知查询报文,服务器一直没有回复,三次超时导致无感知认证失败,终端重新弹出认证页面。
收集服务器侧portal日志,从前台日志看几次无感知查询都是后台回应查询报文超时了,但是看后台日志报文回应速度很快。
同时由于portalserver没收到portalweb的消息,portalweb提示了超时,导致终端页面报错向portalserver发送请求超时。前后台通信都是通过中间件kafka交互的,因此怀疑是kafka有问题。查看服务器的系统日志,发现kafka一直在重启。
收集kafka-server日志发现,kafka要清理/kafka/kafka-log-data/__consumer_offsets-40/00000000000000000000.log时,报了文件不存在的错误。该问题是kafka的一个已知问题,E0715H03\E0722版本中增加了kafka数据清理的定时任务,该任务设计考虑不周,对不应该清理的kafka数据文件也进行检查,会清理超过7天未更新的文件。因此当定时任务将数据清理以后,kafka自身清理机制恢复以后再去清理时发现文件不存在,就会触发kafka服务重启。