DeadLion
1.7D

气炸了,我需要吐槽下 xx 同事

  •  
  •   DeadLion · Apr 9, 2020 · 6433 views
    This topic created in 2403 days ago, the information mentioned may be changed or developed.

    最近因为某些原因升级了 java 容器,从 tomcat 换到 jetty 。

    结果有个业务方报故障了,后来查到原因是因为他们在 http header 里 Content-Encoding 传了 UTF-8

    结果 jetty 报 501,之前 tomcat 倒是不报。

    其他调用方都没问题,就他们业务报障,然后我找到他们希望能尽快改掉,这个按照 http 规范的话肯定就是传错了,他们应该是要设置 charset 。

    然后我就被一顿说:你们升级咋不告诉我们,我们以前都是好的,现在要改必须要提需求,balabala 。。。。。

    我都无语了,我帮你们发现了 bug,还要怪我?

    这感觉就像小偷一直偷偷摸摸,然后被抓了,结果怪警察第一次为啥不抓?

    需要时间改可以理解,但是这么理智气壮的甩锅我实在是无法理解。

    不知道大家怎么看这个问题。

    Supplement 1  ·  Apr 9, 2020
    1.生产环境并没有做全量更新,只更新一台,类似预生产测试,出现报障后也立即下线回滚了。
    2.确实没有周知上下游,一个是没有对业务逻辑做变更,只是对底层框架升级;二是管理混乱,接口开出去现在都不知道到底有哪些业务在调用。三是测试不规范做不到每次变更全量测试、回归测试;
    3.我吐槽的重点不是生产报障谁的责任,而是这个故障发现之后联系业务方修改的态度。
    Supplement 2  ·  Apr 9, 2020
    升级是在预生产环境验证,并不是全量更新,这个怪我没说清楚,所以不存在谁承担责任的问题,当然我也不否认是自己负责的升级直接导致了问题。

    不否认测试的重要性,但是大家应该都知道测试环境测的再好,上生产也还是会碰到各种奇奇怪怪的问题。

    我吐槽重点呢,举个例子就像是,我发现 xxx 产品的 bug 了,然后原因我也告诉他们了,然后他们表示你需要提个功能需求我们才能改。这个难道不是 bug fix 吗?
    38 replies  •  2020-04-11 01:36:54 +08:00
    sun1991
    sun1991
    Apr 9, 2020❤️1
    1
    那你们升级究竟有没有通知到他们, 或者至少发公开邮件?
    b821025551b
    b821025551b
    Apr 9, 2020
    2
    首先,框架更新之类的需要完善的测试用例支撑,各种服务都要测一遍,甚至要兼容以前留存的 bug,否则不要去做;
    就这次事件来看,他们确实是存在 bug,但是这个 bug 之前没有发现,而是因为你们做了迁移才最终发现,这个锅要算在迁移测试人员以及迁移人员头上,和出 bug 业务线那里没有直接关系;
    至于出 bug 业务线那里,和你没直接关系,该怎么处理要他那边 leader 说了算,目前来看这锅就得你们接下来。
    lhx2008
    lhx2008
    Apr 9, 2020
    3
    提 bug 单改就行,然后如果切换运行环境,也是现在测试环境改吧,也不是很急的事情,说不定还有其他问题,集成测试,收敛回归什么的都要做的
    kidlj
    kidlj
    Apr 9, 2020
    4
    你的锅。
    hdonghong
    hdonghong
    Apr 9, 2020
    5
    老实说,这种情况属于你们的锅
    toma77
    toma77
    Apr 9, 2020
    6
    就算有 bug,之前没问题,因为你们升级而没通知他们使 bug 发作,应该是你们的锅。
    k9982874
    k9982874
    Apr 9, 2020 via iPhone
    7
    bug 发现不了就不是 bug,你品你细品
    Jooooooooo
    Jooooooooo
    Apr 9, 2020❤️2
    8
    你的问题

    至少在以下几个方面都有问题, 水平待提高, 这样做事以后也依然会出问题的

    1. 风险评估不到位. 组件升级这么重要的事情, 上下游有没有一起评估过? 升级方案是什么? 带来的风险点都考虑了哪些(这个例子显然没有考虑到上游传错的问题)

    2. 没有考虑预案, 升出问题了怎么办完全没考虑, 只知道现场查问题, 临时解决, 临时解决往往都考虑不全面, 很容易带来新的问题.

    3. 升级东西线上出问题第一想法居然不是回滚, 你们啥业务啊报错就报错无所谓吗?

    4. 人家说的完全没问题, 1 升级怎么没有周知. 2 这个肯定不是临时可以改的, 测试啥的都要花时间, 咋能说做就做? 正确做法就是你赶紧回滚, 项目重新考虑
    Nimrod
    Nimrod
    Apr 9, 2020 via Android
    9
    所以升级前没有上下游商量吗?
    heww
    heww
    Apr 9, 2020
    10
    如果你们这一方不能回滚的话,比如新功能依赖于这个组件的升级。

    赶紧在你们的 jetty 前面搞一个 proxy,把 header 给 fix 了再传给 jetty,先解决问题。
    rubytek
    rubytek
    Apr 9, 2020
    11
    你们测试环境都不先测一下的吗
    rockjike
    rockjike
    Apr 9, 2020 via Android
    12
    你的问题,评估影响范围,再一一通知,涉及地方都要测试
    DeadLion
    DeadLion
    OP
    Apr 9, 2020
    13
    @rubytek 测试只会测试自己业务参数,谁会知道在 header 里乱传东西呢
    @heww 预生产发现的故障 ,并没有全量更新。所以不存在谁的责任的问题
    @Jooooooooo 预生产发现的故障 ,并没有全量更新。也第一时间回滚了
    icyalala
    icyalala
    Apr 9, 2020
    14
    "我吐槽的重点不是生产报障谁的责任,而是这个故障发现之后联系业务方修改的态度。"
    难道搞清生产报障谁的责任这不是重点吗?
    对方规范不好但运行正常,你严格按照规范来把对方搞挂了,你觉得对于公司来说,规范重要还是正常运行重要?
    F7EXi3C25zGhO40b
    F7EXi3C25zGhO40b
    Apr 9, 2020
    15
    升级之前没测试吧,至少测试覆盖的不够
    yixiang
    yixiang
    Apr 9, 2020
    16
    这个 bug 是对方的 bug 。出现 501 的责任是你的责任。

    这是两回事。
    aabbcc112233
    aabbcc112233
    Apr 9, 2020
    17
    @DeadLion “我都无语了,我帮你们发现了 bug,还要怪我?”
    哪个系统没有 bug,哪个系统没有屎山代码,然而都是要去优化的吗?
    不是稳定运行更重要吗?
    hq136234303
    hq136234303
    Apr 9, 2020
    18
    设计业务服务都得通知其他关联服务的人员吧。我之前有个同事 接口改了都没通知我们嗯,最后线上出了问题,被骂死了。
    lxml
    lxml
    Apr 9, 2020
    19
    感觉别人甩的没啥问题……
    wangxiaoaer
    wangxiaoaer
    Apr 9, 2020
    20
    我去,楼上都…………

    楼主,我顶你,这完全是业务方的 bug 。现在暴露了而已。举个身份认证的例子,别人都是刷脸认证,结果某个客户天天刷屁股,但是也能通过,然后楼主升级了认证端,让那些原本就不合法的刷屁股行为统统失败,然后客户大闹说楼主没有提前通知,这尼玛又不是接口变更、业务变更,通知个迪奥啊!!!

    你家应用从 python 变成 golang 也要通知一下客户????
    tabris17
    tabris17
    Apr 9, 2020
    21
    不做测试就升级?
    Chingim
    Chingim
    Apr 9, 2020 via Android❤️1
    22
    @wangxiaoaer 人家业务方并没有逻辑上的 bug,只是 header 不规范。你举的例子不恰当
    chairuosen
    chairuosen
    Apr 9, 2020
    23
    生产环境挂掉是你的锅,你的大锅里面套了一个小锅是对方 header 传错。
    coderluan
    coderluan
    Apr 9, 2020
    24
    这事从专业的角度来说你俩都有锅,从工作的角度来说就只是楼主的锅了,毕竟整体环境都不专业,这时候也就别指望谁能多专业了,只是工作的话,自然是能不干就不干的好。
    tankren
    tankren
    Apr 9, 2020
    25
    升级不通知相关方 你们的责任更大一些 贵司管理流程有点问题啊
    liwl
    liwl
    Apr 9, 2020
    26
    @wangxiaoaer 影响别人业务了
    nekoneko
    nekoneko
    Apr 9, 2020
    27
    我们调墨迹天气的天气服务,版本是 api11,后来发现服务不能用了,问了之后发现他们服务升级到了 api13,然后 api11 就停了,没有收到任何通知...
    xizismile
    xizismile
    Apr 9, 2020 via Android
    28
    我要吐槽 ×
    我被吐槽 √
    wysnylc
    wysnylc
    Apr 9, 2020
    29
    自爆卡车
    beidounanxizi
    beidounanxizi
    Apr 9, 2020
    30
    我 tomcat 怎么了 性能怎么不行了 你非要升级 jetty 因为读起来好听么 😤哼
    jatesun
    jatesun
    Apr 9, 2020
    31
    这升级跟闹着玩似的
    fewok
    fewok
    Apr 9, 2020
    32
    淡定,根据谁改了谁的责任来看,你跑不掉。

    但是责任是人定的。你老板够硬,就可以用一群开发,学这么多年,http 协议都弄不清楚的理由,统统扣工资,不服就滚蛋。
    DeadLion
    DeadLion
    OP
    Apr 9, 2020❤️1
    33
    @beidounanxizi 这事说起来又是一言难尽了
    有兴趣的话可以看看
    https://deadlion.cn/2020/03/27/spring-boot-%E8%BF%B7%E4%B9%8B-400-Bad-Request/
    jip
    jip
    Apr 9, 2020
    34
    是你先不通知就升级,所以就别怪人家怼你
    efaun
    efaun
    Apr 10, 2020
    35
    你这种人在我司是要被发邮件骂的
    WhoAmI233
    WhoAmI233
    Apr 10, 2020
    36
    看到楼主被吐槽我就放心了
    beidounanxizi
    beidounanxizi
    Apr 10, 2020
    37
    @DeadLion 首先这口锅 老哥你也逃不掉 真的 。。。没必要,升级那些基础组件和服务
    然后这种问题确实很蛋疼,
    只能说明你们招过来的研发真的不会是大专的吧
    起码本科吧 再不济 二本 再不济 一本 再不济 211.。。
    如果遇到其他 没有违背 RFC 规范的话 这口锅就完完全全是你的了
    反正协商解决吧 都是同事
    UxCZbWShjEsL
    UxCZbWShjEsL
    Apr 11, 2020 via iPhone
    38
    @beidounanxizi 哈哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1133 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 112ms · UTC 16:56 · PVG 00:56 · LAX 08:56 · JFK 11:56
    ♥ Do have faith in what you're doing.