记一次项目事故

148 阅读2分钟

1.出现时间

问题出现在某天早晨上班,公司自研的im登录不上,这个问题已经很大了,因为我们公司处理问题都是通过im,出现这个问题导致拉了个已经废弃掉的联络方式,钉钉群。问题解决很快,联系到各部门开发,拉会讨论,处理,半小时结束

2.问题原因

我负责的产品,是对应用进行统一管理的平台。因为我们的产品会有很多地方使用,就出了一个初始化功能,原本的手动入驻应用,改为应用方开发自己对接写在代码里在部署时入驻一个初始应用。

出现问题就是数据库里应用的唯一标识重复了,导致sql报错,影响了im的登录功能。为什么会犯这么低级的错误?因为开发环境,测试环境的唯一标识在数据库里都是有唯一索引的,而我们自己用的环境没有这个索引。为什么会没有这个索引,因为我们产品是根据代码生成表,建索引是在生成表的时候建,也就是说这个唯一索引是后来加的,但代码里没考虑到已经部署过这个产品的系统,属于历史遗留问题

3.最终结果

只能说前人挖坑,后人埋,我也确实疏漏了,因为自测时出现过唯一标识重复的情况,但是会因为有索引往外抛错,就不会出现问题,也就没有在代码里去判断。责任是定给这次开发这个功能的我,这里就要感谢我们老大帮扛了