同事 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 条回复
rodrick
2021-01-11 12:55:22 +08:00
问个问题,不懂测试方面,假设测试测了 100w 条没问题,然后生产环境 1000w 条炸了,这个算不算测试用例覆盖不全?
UsherOu
2021-01-11 12:59:32 +08:00
b 的锅,b 写的时候不看方法吗?瞎调吗?
gaolingyi
2021-01-11 13:02:42 +08:00
是测试的机子能扛得住还是说压根没有测试啊
guo4224
2021-01-11 13:04:02 +08:00
你这什么歪道理?自己写的 bug 让别人背锅?
qwer666df
2021-01-11 13:04:35 +08:00
@rodrick #101 不能这样吧 那如果一亿条呢? 那不是无止境了
charlie21
2021-01-11 13:09:35 +08:00
如果程序员尽心尽力实现的功能上线出了问题,责任是谁的? /t/737781

看看你们自己说的:

@ligiggy 20 days ago ❤️ 63
找个几把责任人,
出了问题,大家都有责任,赶紧把问题解决,下次开研讨会总结经验

@boris93 20 days ago via Android ❤️ 2
这不是一个人的责任,而是一个整体的责任

@sampeng 20 days ago ❤️ 1
这难道不是对于一个团队最值得庆祝的时刻吗?宝贵的经验是在一次一次问题中增加的。不会平白无故多出经验来

@feiandxs 19 days ago ❤️ 7
我的责任,行了吧。
我就很看不惯这种,遇事后不是第一时间想着解决问题,而是找责任人。不是一起复盘总结宝贵的经验,各部门一起坐下来好好看看今后有什么可以改善的地方,当前的问题有哪些合理的解决办法,而是来找『谁的问题』。
真要找人的问题,应该是每个人都冲上去说是我的问题。
如果是找别人的问题,这个找问题的人就是最大的问题。

@fengpan567 19 days ago ❤️ 3
一看就是想着压缩工期上线,结果线上出 bug 了,又想让开发背锅

@thetbw 19 days ago via Android
应该换个角度,程序员写的程序赚了大钱,功劳主要算谁的,钱应该怎么分

-

现在真出问题了,txt 变 exe,画风迥然不同

出问题互相推诿 出问题互相踢皮球,这一幕令人熟悉:当 txt 变 exe 时画风就会迥然不同,说得越好,做得越烂
no1xsyzy
2021-01-11 13:20:20 +08:00
@charlie21 你在立什么空气靶子啦
你选中的这些人一个都没出现在这楼里……
Smilencer
2021-01-11 13:20:33 +08:00
老板的锅+1
ryanlid
2021-01-11 13:20:46 +08:00
业务 自己背
root8080
2021-01-11 13:30:55 +08:00
@charlie21 ??? 迷惑操作
no1xsyzy
2021-01-11 13:31:31 +08:00
@charlie21 稍微拉了下目前有这些人两个主题内同时回复了:
{'Leonard', 'lifetimeporn', 'keepeye', 'charlie21', 'ruokw', 'MoccaCafe', 'Leigg', 'Jooooooooo', 'ryanlid', 'l00t', 'liian2019', 'reus'}
基本上回复的主旨都保持一致,除了一些明显对这种题目表示厌烦而胡乱说的 “数据库的锅”
alfa
2021-01-11 13:35:21 +08:00
如果 A 写得不对,我想知道 A 怎么写才对?
rohgeo
2021-01-11 13:43:28 +08:00
那赚了钱,员工能分一部分吗?
CrazyMoon
2021-01-11 13:45:12 +08:00
今天业务找过来说让员工负责一部分损失?团结起来,让他爬
purensong
2021-01-11 13:46:43 +08:00
我觉得不管怎样程序员都不该背锅,要背锅在合同里写清楚,这种不是恶意造成的,为啥要背锅。赚钱了也不会分一分给你
kvkboy
2021-01-11 13:48:54 +08:00
前几天我刚好也碰上这个事,不过是测试场景碰到的问题而且也没那么多数据。

按照场景我是 A,B 调用我的条件查询,他以为有值但实际没值,啥都没传没有条件,结果默认查全表导致他报错

B 问我啥都没传为什么不返回一个空结果,我跟他说,条件查询你不传条件我要帮你兜底,关我什么事?

我就想问问,A 错了啥?
levizheng
2021-01-11 13:56:31 +08:00
关 A 啥事?不传条件可不就全表扫描
rohgeo
2021-01-11 13:58:26 +08:00
扣工资没问题,例如迟到也会扣工资。但是让员工负责一部分损失就太黑了
airfling
2021-01-11 13:58:45 +08:00
测试的锅
leonardyang
2021-01-11 13:59:29 +08:00
我就想知道你们一千万级别的数据难道不要求加索引的么,以后方法上至少加个索引列条件不能为空的判断吧,不然其他调用者咋保证查询效率?

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

https://tanronggui.xyz/t/743718

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

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

© 2021 V2EX