本次在生产遇见一个问题,跟踪了很久没有找到原因。由于这个逻辑比较复杂,而且是已经离职人员开发的,排查问题特别困难。
于是吧生产数据复制到本底,模拟重现,还是没有找到问题。
最后根据生产的traceId在阿里云跟踪了一下,发现了有一些sql打印。
SELECT * FROM tb_o_a_i
WHERE (factory = ? AND position = ? AND sku = ?) limit 0#
bind values: 1000, A47328, XF5378
上面有一个 limit 0有点怀疑;是不是这里除了问题。
-------
最后在同事的提醒下,直接将生产日志开启,走一下流程。
logging.level.com.*** = debug
上面的*** 换成自己的包名
经过上面开启后,发现sql里面多查了一张表。于是找到问题根因所在。