美文网首页
解决一个线上bug的全过程

解决一个线上bug的全过程

作者: java_飞 | 来源:发表于2020-05-08 18:19 被阅读0次

    先说下最近的求职历程吧,年初由于疫情爆发,公司经营困难,然后裁员,到现在也过去了2二个月,我也是最近才入职的,这个时间段求职相比以前是很难,给一句忠告,这个时期能不换工作就千万变换了;
    这段时间总结来说:没有要求随遇而安的话,也好找;但是想要精挑细选,有点要求那么就比较难了;
    那么接下来废话不多说,来说说新公司的新bug吧

    bug描述

    1.运营描述:已退款的订单确认退款后又产生了一笔新的待发货订单。。。。以下省略一些图片文字等

    看到这个描述,我第一下就觉的实际情况不应该是这样,所以就沟通,查询,了解,经过分析,这个bug的最终描述是:
    2.这个bug是因为支付宝回调接口没有处理好退款的回调,导致将原来的订单状态改为了待发货状态,并且修改了支付时间等参数,导致让运营误以为产生了两笔订单,实际上还是原来的那笔订单;

    解决步骤

    1.1 查看订单相关参数

    这一步主要是确认订单是否跟运营描述的一样,是否产生了新的订单

    1.2 查看日志

    这一步主要是查看线上服务日志,这笔订单的相关日志,主要是这笔订单,在这个修改时间范围的订单日志
    基本上这一步就可以知道是哪个方法导致的,但是由于我这边日志里面没有打印哪个方法,所以我又去链路追踪服务里面(skywalking)去找到这个调用链,然后确认相关方法;

    1.3 继续查询日志

    这一步跟上一步的差不多,但是查询的主要是该方法内的日志,由此确定是该方法导致该问题的产生;

    1.4 复现这种情况

    等到了这一步基本上也知道该bug产生的原因,以及解决办法了。

    bug解决

    我这里是通过相关参数判断该回调是退款回调,所以不做处理,直接告诉第三方success;

    注意

    支付宝的回调接口不仅会通知支付成功的回调,同时也会通知退款的回调,我们在处理的时候需要对退款回调也做处理,否则很可能造成其他bug的产生,并且这种问题,一时半会儿不一定能马上找到;但是如果是B2C方式支付的订单,不管是支付还是退款都是不会回调的;

    相关文章

      网友评论

          本文标题:解决一个线上bug的全过程

          本文链接:https://www.haomeiwen.com/subject/boqqnhtx.html