工作记录
问题:
本次APP连接测试环境,im_ip配置正确,但是在点击联系客服时,im返回信息失败,无法连接上。
分析:
首先是去查看KF服务的error.log,报错信息如下
后来去查看了appserver的error.log,没有报错,再查看了一些KF的日志,比如jws.log,trace.log,gcmall-csim-sql.log等,发现有session is null的问题,貌似是imcache session(原谅我第二天才解决这个问题,当天看的具体日志信息忘了,包括是哪个日志的信息,所以才列出多个)
伪解决:
OK,其实我第一次解决是通过修改测试环境下KF服务容器的环境变量 — username来解决这个问题的。(前景是,当时docker3的APP IM是OK的,其他测试环境的都不行,报的是一样的错,所以我选择把其他docker的username改成和docker3一样的,当时解决了这个问题。)
后来,到了第二天… 是的,又不行了,还是报一样的错。
真正的解决方案:
想起来imcache session is null的日志信息,直觉觉得跟缓存有关(其实当时都不知道username这个环境变量是啥)后来才知道就是缓存的username… 好的,牛逼,我明白了,我们的中间件用的tair,通过tair OPS,选择gcmall-KF应用,选择测试环境沙箱集群-对应的dockers,执行clear命令,释放缓存~ 完美解决~