本文主要是介绍测试环境频繁报:RedisCommandInterruptedException: Command interrupted,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
比较奇葩的是:本机,开发,生产都没问题,就测试环境有这问题,导致docker容器不停重启,就是起不来。
本机中断程序,同样也会报这个问题
排查了半天,找到原因,应该是redis在频繁取到空值的情况下,就会出现线程被中断的情况,解决办法是在取到空值的情况下让线程睡100ms(Thread.sleep(100L))。
这篇文章有借鉴价值:
https://blog.csdn.net/guntun8987/article/details/128958899
8月22 更新
昨天中午,服务正常了一次,后面重构又不行了,这次还报其他错误
没法办了,只能请教运维一起排查,感觉不单单是代码可以修复的。
果然,运维思路不一样:
“启动不起来是你初始化的时候太多redis操作了,一直被当作未就绪”。
他在kubernates里面把启动探针(livenessprobe)给去掉了
一切就正常了。
当然,有些服务是需要启动探针的,那么可以尝试把initialDelaySeconds(指定容器启动后等待多少秒后开始执行探测)设置大一点。
代码解决不了的问题,一定别憋着,该找运维就找。
这篇关于测试环境频繁报:RedisCommandInterruptedException: Command interrupted的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!