
最近因为某些原因升级了 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 那你们升级究竟有没有通知到他们, 或者至少发公开邮件? |
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 你的问题 至少在以下几个方面都有问题, 水平待提高, 这样做事以后也依然会出问题的 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 PRO @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 @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 PRO @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 哈哈哈 |