同事 A 写了个方法,同事 B 调用了 A 的方法 导致线上直接宕机 这个锅该谁背。。

2021-01-11 10:28:06 +08:00
 yasumoto
公司服务器连续几次宕机,导致有很多业务数据没进来,我们投放是花了钱的 后面找问题发现

是同事 A 写了个 sql 在 mybatis 里面用的<where><if xxx != null> xxx=xxx<if>....</where>类似这样的

同事 B 调用了这个方法,但是他的业务有的时候值没有 导致查询全表 1000 万的数据 机器直接卡死了

在阿里云显示慢 sql 执行了 500 多秒 - -

今天业务找过来说让员工负责一部分损失 ,问问大家 这个损失应该谁背呢
32648 次点击
所在节点    程序员
273 条回复
bwangel
2021-01-11 14:02:39 +08:00
楼主你是不是要贷款上班了。。。
Ahy
2021-01-11 14:02:52 +08:00
如果是 A 的锅的话 写 rm 命令作者的锅可就大了
那生产刀子的人也有罪
sansanhehe
2021-01-11 14:04:56 +08:00
测试用例没覆盖到吗?
wolfan
2021-01-11 14:05:04 +08:00
B 有责任,但不承担损失。
zjuster
2021-01-11 14:09:08 +08:00
不要歪楼,员工赔钱是另外一个话题。

A 写方法,不可能考虑到各种业务的场景,所以他写这个的时候,是没有问题的。
B 是负责业务的,不考虑业务的场景,直接调用 A,所以 B 是有责任的。

如何避免这种问题:
说实话,就算有测试,对这种问题也很难保证测试出来的,建议是强制开发规范,增加一条所有项目都要查慢 sql 的问题。
NillSpake
2021-01-11 14:12:02 +08:00
A 只提供服务,B 去调用,不看服务参数,瞎弄怪谁?
A 无责,B 次责,测试主责
就好像 A 提供卖水果的功能,B 传参苹果,梨子,突然不传递参数了我把水果摊给你了,也没有毛病呀
LeeSeoung
2021-01-11 14:13:32 +08:00
能上线了都是测试的锅(手动狗头
vone
2021-01-11 14:16:59 +08:00
这说明同事 B 的工作能力有问题,但是 HR 没有及时反馈至技术部门,并且更换符合岗位要求的员工。

所以这肯定是 HR 的锅。
Erroad
2021-01-11 14:21:26 +08:00
本来还想看下到底是 A 还是 B 的锅,一看还得员工赔,不用说了,老板的锅
fengpan567
2021-01-11 14:24:05 +08:00
员工赔偿?扣扣绩效得了,真的要员工赔,这样的公司也别待了
murmur
2021-01-11 14:25:21 +08:00
B 知不知道数据量有多少,这是关键,如果 B 在设计时明确知道千万级表就是 B 的锅,否则公司背
SyncWorld
2021-01-11 14:27:10 +08:00
让员工赔偿损失的老板,锅都是老板的
a719031256
2021-01-11 14:30:34 +08:00
A 应该无责任,B 有一点责任,主要责任还是测试以及负责人
我之前公司测试那是各种奇葩数据都往项目中弄,还在网上买肉鸡来测,数据库撑爆了
wh1012023498
2021-01-11 14:37:13 +08:00
我只能判断出来一点,在贵司要学会如何甩锅。
rocbomb
2021-01-11 14:38:36 +08:00
背锅也只是扣绩效
敢扣工资?
npe
2021-01-11 14:39:25 +08:00
60%领导的锅
30%测试的锅
10%开发者的锅
zxyangyu
2021-01-11 14:39:46 +08:00
如果你调用标准库中方法出问题了
会追究写方法的人没有照顾到你数据量大导致宕机问题吗?
useben
2021-01-11 14:42:29 +08:00
接口是谁, 谁的锅. 说调接口还要去看方法的都是没参与过大型项目的...
shaohan0228
2021-01-11 14:43:40 +08:00
直接责任人:B
间接责任人:A 需求方
主要责任人:领导(负责开发的,负责测试的,负责流程管理的,负责项目的,公司主管技术的,公司主管培训的,公司主管安全的,分管领导,分公司领导,集团公司分管领导)根据事故范围,逐级往上追就好了

处理意见:
B 扣除一定奖金,要求个人书写针对此次事故的总结教训(公司气不过就开除)
A 不进行金钱处罚,要求日后在功能开发中添加相关限制(由分管技术负责监督)
分管技术,扣罚一定个人奖金,针对此次事故,编写相关的技术措施,要求在日后开发中落实
分管测试,扣罚一定个人奖金,针对此次事故,编写相关的技术措施和测试用例,要求能够在日后测试中,能够有效筛查
需求方:扣罚一定个人奖金,书写检讨书,要求日后按照流程进行需求提交,严禁擅自更改开发流程
分管项目,扣罚个人项目奖金,要求作出检讨,对项目管理不到位,项目流程执行不到位,要求加强落实项目流程的执行。

罚款金额 B < 需求< 分管
Asuka0947
2021-01-11 14:47:47 +08:00
可以共患难,不能同享福,万一你用的开源出问题了,是不是还要找作者赔钱?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/743718

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX