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

今天业务找过来说让员工负责一部分损失 ,问问大家 这个损失应该谁背呢
32068 次点击
所在节点    程序员
273 条回复
AngryPanda
2021-01-11 11:02:12 +08:00
@sunrain 7000w 小公司够死好几次了
qiaobeier
2021-01-11 11:02:54 +08:00
想起那个让公司损失一百多万美金的同事。。。
在试用期就劝退了,那哥们水平其实不错,就是在不懂业务的情况下去重构不熟悉的程序。其实 QA 也是问题很大,但毛事没有,估计因为是大🐻妹子的原因。
reus
2021-01-11 11:03:43 +08:00
@yasumoto 约定?写入劳动合同了吗?没写入就是无效。而且就算写入,也可能无效,因为扣工资、罚款都属于违法行为。你只能扣绩效工资,而绩效工资是有限的,他直接离职,你就没法继续扣绩效。让员工承担损失,是傻逼行为。
lancelee01
2021-01-11 11:03:53 +08:00
B 使用 A 代码未通知 A,B 全责,调用错误; A 知情,需共同担责,未进行代码 Review 或者未发现问题。测试用例中没有该用例,但 B 予以通过,B 全责;用例中有该部分用例,测试全责。责任分析是必须的,但是损失也要员工承担的,建议早点离职。PS:数据库或者网络存在问题,1 千万全表扫描,正常也很快的好吧,返回 1 千万数据这个比较考验网络
yazoox
2021-01-11 11:04:59 +08:00
有意思!
挣了钱,老板拿。
花了钱,员工背……
mxT52CRuqR6o5
2021-01-11 11:06:54 +08:00
《工资支付暂行规定》
第十六条 因劳动者本人原因给用人单位造成经济损失的,用人单位可按照劳动合同的约定要求其赔偿经济损失。经济损失的赔偿,可从劳动者本人的工资中扣除。但每月扣除的部分不得超过劳动者当月工资的 20%。若扣除后的剩余工资部分低于当地月最低工资标准,则按最低工资标准支付。

有限责任,剩余的部分公司自己承担
FFFire
2021-01-11 11:06:57 +08:00
意思就是你们开发兼测试了呗
AngryPanda
2021-01-11 11:07:06 +08:00
@lancelee01 B 调用 A 的方法,还要通知 A,你们公司都是这样操作的吗?
h493229005
2021-01-11 11:08:44 +08:00
测试背啊
wysnylc
2021-01-11 11:09:08 +08:00
没测试的后果,只能说这问题出的该
Felldeadbird
2021-01-11 11:10:43 +08:00
正常来说,A 无责。B 最多负次要或者无责。
主要责任 测试 和 验收的人。
dullwit
2021-01-11 11:12:17 +08:00
leader 主责任,测试次责任,开发责任等级最低。另外员工的责任最多只是相应罚款和通报批评,损失当然公司承担咯。
bleepbloop
2021-01-11 11:12:22 +08:00
肯定领导背啊,这群人是怎么了,脑子清醒点,你以为领导拿那么多钱是做什么的
kiracyan
2021-01-11 11:13:38 +08:00
如果这个 A 写的方法不是给 B 用的 B 用了出事跟 A 有什么关系啊
jzmws
2021-01-11 11:14:20 +08:00
A 写的方法没错
B 写的方法也没错

如果有错就在于 A 的有没有把接口调用方法给 B
B 的错误是有没有和 A 做好接口对接工作


如果是查全部 A 写方法应该通过代码校验是否有参数
caiji11
2021-01-11 11:14:41 +08:00
楼主赶紧离职吧 你们公司这不欺负人么
xyjincan
2021-01-11 11:18:51 +08:00
找负责的主管领导
yeyuefeng
2021-01-11 11:19:26 +08:00
@hebwjb 员工真惨。。。
一般情况下, 主管负责
Jooooooooo
2021-01-11 11:20:25 +08:00
硬要找员工担责, 那么

如果 B 调用 A 没有事先通知 A, B 担一部分责任, 基础架构担一部分责任(没有鉴权怎么能调用成功)

如果事先通知并且沟通好调用方式, 那么问题聚焦到有没有沟通这个条件, 如果事先约定好这个条件需要有, 那么 A/B 共同担责, B 怎么没保证有, A 怎么没校验; 如果没说这个条件的事, 那 A 担责, B 又不知道你这里条件必须有.

不过话说回来, 让员工赔偿的公司早点走吧.
ahsjs
2021-01-11 11:20:46 +08:00
我觉得 B 主锅 A 次锅 hah

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

https://www.v2ex.com/t/743718

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

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

© 2021 V2EX