同事 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 多秒 - -

今天业务找过来说让员工负责一部分损失 ,问问大家 这个损失应该谁背呢
32653 次点击
所在节点    程序员
273 条回复
notejava
2021-01-12 09:45:41 +08:00
同样的问题曾经出现在我的身上,调用了老大的方法,以为没值的时候返回 Null,谁知道返回空字符 "",导致损失了很多投放的广告预算,其实是我的锅,最后老大帮我背了[捂脸]。
wolfie
2021-01-12 09:49:36 +08:00
A 100% 无责任。
adsltsee
2021-01-12 09:50:37 +08:00
测试>B>A
yingqi7
2021-01-12 10:11:33 +08:00
@liuxey 是的,制度问题,工作流问题,要背锅,找领导,领导流程设计的不合理
xmx12138
2021-01-12 10:16:03 +08:00
这让员工背锅真的是过分了啊,首先测试没介入就上线的需求就根本找不到开发的锅,跟测试也没关系,人家根本没参与啊,这是内部管理流程的问题。
freelancher
2021-01-12 10:32:27 +08:00
做得好了。业绩是领导的。做得差了,锅是员工的。奇葩思维。

首先肯定是领导的锅。

然后是 B 的锅。A 的锅,我觉得不应该。写的时候就想不到有人这么智障。
Vegetable
2021-01-12 10:38:35 +08:00
出了问题扣绩效,可以。
承担损失,跑路。
48555247
2021-01-12 10:47:35 +08:00
如果是 A 告诉 B 可以调用这个 SQL,那 A 有一部分责任,没说清楚自己的使用场景加告诉限制。

如果 B 只是看到有这个查询的 SQL 就拿来用,B 的锅没跑了。
atonku
2021-01-12 10:50:34 +08:00
啥破数据库啊,一千万都能这么慢,设计数据库的要担责;
测试人手不足就直接上正式,谁允许的谁担责,比如开发部领导;
可以对员工提出问题,但是真要罚钱,那就真的是愚蠢了。
建议楼主不是领导的话,趁早跑路。
BZxiansen
2021-01-12 10:52:39 +08:00
这种事情,分不清楚,就按实际操作来呗。
首先损失公司承担,然后公司找 boss,boss 找负责人,负责人找职位领导,领导再找动手的。
一层一层下来,风险承担也越来越小,一开始就找最下面的背锅,人家能不能背的起都是个问题。
mz02005
2021-01-12 11:09:08 +08:00
让我想起了电影《 a 计划》中,成龙指着元彪说的那几句话
free1978
2021-01-12 11:16:54 +08:00
让业务去死。程序员写错代码还要负责损失?那写对了挣钱公司是不是给提成 50%?
saulshao
2021-01-12 11:22:47 +08:00
@free1978 完全赞同 252#。
ns20
2021-01-12 11:31:50 +08:00
这个问题为何要把 A 拉进来,无论如何追责,肯定不会追到 A 头上。
ohhe
2021-01-12 11:39:59 +08:00
构架有问题。就算出现这样的问题也不应该连续几次宕机吧
nowto
2021-01-12 11:42:21 +08:00
[要看 A 写的方法有没有完善的文档(比如 javadoc )注释]
应该按照文档约定调用方法;文档上应该说明不合理调用产生的风险。

1. 如果 B 完全按照文档说明调用方法,发生了意料之外的 bug,那么应该 A 背锅。
2. 如果 B 没有按照 A 的文档说明调用了方法(比如没有仔细阅读文档,便调用了方法),或者干脆就没有文档,B 背锅。
这时,B 应该找 A,让其首先完善文档。

最好的做法,A 的方法应该做防御性编程,检测不合理调用并抛出合适异常,同时文档上也应该做说明。
Arlenc
2021-01-12 11:54:53 +08:00
@reus 所以现在大部分公司都是,基本工资很低,加上各种绩效,岗位工资等拼起来。搞不好就发你基本工资。
nowto
2021-01-12 11:55:14 +08:00
我只是从 A 和 B 两个人来说,哪个应该担责更多,不同意应该让员工赔偿损失。
一个团队,出现问题不会只是一个人的责任,我同意“不管什么错,leader 都应该有责任”。
shyling
2021-01-12 12:05:30 +08:00
dba 的锅,这么慢的查询都不管的吗^_^
noparking188
2021-01-12 12:56:35 +08:00
反正不是基层员工的锅

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

https://tanronggui.xyz/t/743718

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

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

© 2021 V2EX