最近因为某些原因升级了 java 容器,从 tomcat 换到 jetty 。
结果有个业务方报故障了,后来查到原因是因为他们在 http header 里 Content-Encoding 传了 UTF-8
结果 jetty 报 501,之前 tomcat 倒是不报。
其他调用方都没问题,就他们业务报障,然后我找到他们希望能尽快改掉,这个按照 http 规范的话肯定就是传错了,他们应该是要设置 charset 。
然后我就被一顿说:你们升级咋不告诉我们,我们以前都是好的,现在要改必须要提需求,balabala 。。。。。
我都无语了,我帮你们发现了 bug,还要怪我?
这感觉就像小偷一直偷偷摸摸,然后被抓了,结果怪警察第一次为啥不抓?
需要时间改可以理解,但是这么理智气壮的甩锅我实在是无法理解。
不知道大家怎么看这个问题。
1
sun1991 2020-04-09 11:48:29 +08:00 1
那你们升级究竟有没有通知到他们, 或者至少发公开邮件?
|
2
b821025551b 2020-04-09 11:51:42 +08:00
首先,框架更新之类的需要完善的测试用例支撑,各种服务都要测一遍,甚至要兼容以前留存的 bug,否则不要去做;
就这次事件来看,他们确实是存在 bug,但是这个 bug 之前没有发现,而是因为你们做了迁移才最终发现,这个锅要算在迁移测试人员以及迁移人员头上,和出 bug 业务线那里没有直接关系; 至于出 bug 业务线那里,和你没直接关系,该怎么处理要他那边 leader 说了算,目前来看这锅就得你们接下来。 |
3
lhx2008 2020-04-09 11:51:49 +08:00
提 bug 单改就行,然后如果切换运行环境,也是现在测试环境改吧,也不是很急的事情,说不定还有其他问题,集成测试,收敛回归什么的都要做的
|
4
kidlj 2020-04-09 11:53:30 +08:00
你的锅。
|
5
hdonghong 2020-04-09 11:58:42 +08:00
老实说,这种情况属于你们的锅
|
6
toma77 2020-04-09 12:01:54 +08:00
就算有 bug,之前没问题,因为你们升级而没通知他们使 bug 发作,应该是你们的锅。
|
7
k9982874 2020-04-09 12:14:45 +08:00 via iPhone
bug 发现不了就不是 bug,你品你细品
|
8
Jooooooooo 2020-04-09 12:18:26 +08:00 2
你的问题
至少在以下几个方面都有问题, 水平待提高, 这样做事以后也依然会出问题的 1. 风险评估不到位. 组件升级这么重要的事情, 上下游有没有一起评估过? 升级方案是什么? 带来的风险点都考虑了哪些(这个例子显然没有考虑到上游传错的问题) 2. 没有考虑预案, 升出问题了怎么办完全没考虑, 只知道现场查问题, 临时解决, 临时解决往往都考虑不全面, 很容易带来新的问题. 3. 升级东西线上出问题第一想法居然不是回滚, 你们啥业务啊报错就报错无所谓吗? 4. 人家说的完全没问题, 1 升级怎么没有周知. 2 这个肯定不是临时可以改的, 测试啥的都要花时间, 咋能说做就做? 正确做法就是你赶紧回滚, 项目重新考虑 |
9
Nimrod 2020-04-09 12:18:32 +08:00 via Android
所以升级前没有上下游商量吗?
|
10
heww 2020-04-09 12:27:52 +08:00
如果你们这一方不能回滚的话,比如新功能依赖于这个组件的升级。
赶紧在你们的 jetty 前面搞一个 proxy,把 header 给 fix 了再传给 jetty,先解决问题。 |
11
rubytek 2020-04-09 12:34:47 +08:00
你们测试环境都不先测一下的吗
|
12
rockjike 2020-04-09 12:39:12 +08:00 via Android
你的问题,评估影响范围,再一一通知,涉及地方都要测试
|
13
DeadLion OP @rubytek 测试只会测试自己业务参数,谁会知道在 header 里乱传东西呢
@heww 预生产发现的故障 ,并没有全量更新。所以不存在谁的责任的问题 @Jooooooooo 预生产发现的故障 ,并没有全量更新。也第一时间回滚了 |
14
icyalala 2020-04-09 12:49:08 +08:00
"我吐槽的重点不是生产报障谁的责任,而是这个故障发现之后联系业务方修改的态度。"
难道搞清生产报障谁的责任这不是重点吗? 对方规范不好但运行正常,你严格按照规范来把对方搞挂了,你觉得对于公司来说,规范重要还是正常运行重要? |
15
rim99 2020-04-09 12:52:45 +08:00
升级之前没测试吧,至少测试覆盖的不够
|
16
yixiang 2020-04-09 13:00:12 +08:00
这个 bug 是对方的 bug 。出现 501 的责任是你的责任。
这是两回事。 |
17
aabbcc112233 2020-04-09 13:04:06 +08:00
|
18
hq136234303 2020-04-09 13:06:50 +08:00
设计业务服务都得通知其他关联服务的人员吧。我之前有个同事 接口改了都没通知我们嗯,最后线上出了问题,被骂死了。
|
19
lxml 2020-04-09 13:07:26 +08:00
感觉别人甩的没啥问题……
|
20
wangxiaoaer 2020-04-09 13:09:49 +08:00
我去,楼上都…………
楼主,我顶你,这完全是业务方的 bug 。现在暴露了而已。举个身份认证的例子,别人都是刷脸认证,结果某个客户天天刷屁股,但是也能通过,然后楼主升级了认证端,让那些原本就不合法的刷屁股行为统统失败,然后客户大闹说楼主没有提前通知,这尼玛又不是接口变更、业务变更,通知个迪奥啊!!! 你家应用从 python 变成 golang 也要通知一下客户???? |
21
tabris17 2020-04-09 13:14:36 +08:00
不做测试就升级?
|
22
Chingim 2020-04-09 13:15:08 +08:00 via Android 1
@wangxiaoaer 人家业务方并没有逻辑上的 bug,只是 header 不规范。你举的例子不恰当
|
23
chairuosen 2020-04-09 13:17:17 +08:00
生产环境挂掉是你的锅,你的大锅里面套了一个小锅是对方 header 传错。
|
24
coderluan 2020-04-09 13:21:46 +08:00
这事从专业的角度来说你俩都有锅,从工作的角度来说就只是楼主的锅了,毕竟整体环境都不专业,这时候也就别指望谁能多专业了,只是工作的话,自然是能不干就不干的好。
|
25
tankren 2020-04-09 13:32:08 +08:00
升级不通知相关方 你们的责任更大一些 贵司管理流程有点问题啊
|
26
liwl 2020-04-09 14:16:52 +08:00
@wangxiaoaer 影响别人业务了
|
27
nekoneko 2020-04-09 14:16:58 +08:00
我们调墨迹天气的天气服务,版本是 api11,后来发现服务不能用了,问了之后发现他们服务升级到了 api13,然后 api11 就停了,没有收到任何通知...
|
28
xizismile 2020-04-09 14:40:23 +08:00 via Android
我要吐槽 ×
我被吐槽 √ |
29
wysnylc 2020-04-09 15:15:41 +08:00
自爆卡车
|
30
beidounanxizi 2020-04-09 16:18:30 +08:00
我 tomcat 怎么了 性能怎么不行了 你非要升级 jetty 因为读起来好听么 😤哼
|
31
jatesun 2020-04-09 16:49:46 +08:00
这升级跟闹着玩似的
|
32
fewok 2020-04-09 17:52:46 +08:00
淡定,根据谁改了谁的责任来看,你跑不掉。
但是责任是人定的。你老板够硬,就可以用一群开发,学这么多年,http 协议都弄不清楚的理由,统统扣工资,不服就滚蛋。 |
33
DeadLion OP @beidounanxizi 这事说起来又是一言难尽了
有兴趣的话可以看看 https://deadlion.cn/2020/03/27/spring-boot-%E8%BF%B7%E4%B9%8B-400-Bad-Request/ |
34
jip 2020-04-09 22:33:23 +08:00
是你先不通知就升级,所以就别怪人家怼你
|
35
efaun 2020-04-10 03:47:34 +08:00
|
36
WhoAmI233 2020-04-10 14:18:54 +08:00
看到楼主被吐槽我就放心了
|
37
beidounanxizi 2020-04-10 15:10:58 +08:00
@DeadLion 首先这口锅 老哥你也逃不掉 真的 。。。没必要,升级那些基础组件和服务
然后这种问题确实很蛋疼, 只能说明你们招过来的研发真的不会是大专的吧 起码本科吧 再不济 二本 再不济 一本 再不济 211.。。 如果遇到其他 没有违背 RFC 规范的话 这口锅就完完全全是你的了 反正协商解决吧 都是同事 |
38
UxCZbWShjEsL 2020-04-11 01:36:54 +08:00 via iPhone
@beidounanxizi 哈哈哈
|