记一次定版失败的经历
2024年9月24日
本周的周三,也就是明天,本来打算更新生产问题与上次遗留的缺陷,结果错误越改越多,最终导致九点多钟了还没有拿到UAT报告,问了主管部门,他们也不同意我们投产,于是只能调出版本作罢。
遇到的最棘手的问题还是老问题——锁表。
流程相关的代码实在是难以维护。
问题的源头在于,数据库事务暴露给了开发人员随意更改。
排查这类问题实在是棘手,这次能找到问题的原因多亏了IDEA
给提供的一个功能,如下图。 Memory
这个功能非常好用。 我们存在问题的类是CommonDao.class
。 在出现锁表的代码行处打上断点。然后在Memory
里找到所有CommonDao
的instance
幸运的是这个CommonDao内保留了它执行过的SQL
,可以根据这个找到这个数据库会话创建出来的地方。