美文网首页
记一次线上bug

记一次线上bug

作者: hqwer | 来源:发表于2019-07-11 22:41 被阅读0次

问题描述

测试和预生产都没有问题,但是生产环境上,会偶尔出现用户的登录信息获取不到的情况

分析问题

查看日志发现是因为用户的信息user在session中获取不到,因为我将代码chtch了,没有打印具体的错误信息。只能由下往上排查。

排查问题

1.首先查看异步发送用户请求的接口(以前遇到过),异步发送用户消息,有可能会出现新线程无法获取session的情况,异步导出会对user进行操作,发现没有问题

2.然后排查上层(service层)获取用户信息为空,将获取session的方法放在controller层,Dubbo框架的controller会请求不同机器的service方法,service无法获取上下文中的内容,有可能导致session中user为空的情况,然后重新部署,发现直接在controller层报错。

3.再往上排查,只能是环境的问题了,最终发现有一台机器的redis没有配置o(╥﹏╥)o,用户登录请求后台,会将用户的session放在redis缓存中,请求服务器时会带上redis缓存中的session,这样就出现了用户信息偶尔获取不到的情况。

总结

最终是因为线上机器的环境不一致导致。导致session中的user为空。出现问题,迅速定位问题,并解决问题,找出问题的本质,多思考,多总结。ヾ(◍°∇°◍)ノ゙

相关文章

  • 记一次线上bug

    问题描述 测试和预生产都没有问题,但是生产环境上,会偶尔出现用户的登录信息获取不到的情况 分析问题 查看日志发现是...

  • ThinkPHP 接入 SeasLog 日志组件

    【背景】 为实现开发前期联调bug 定位、线上bug快速定位、快速响应,遂暂为斐讯路由后台 Api 模块添加日志记...

  • 记一次钉钉报警线上bug

    案发现场 https://oapi.dingtalk.com/robot/send?access_token=${...

  • 05. getWriter()has already been

    记一次bug fixed: getWriter()has already been called for this...

  • 开发中,你一般是如何调适bug的

    bug分为线上的bug和测试中的bug 对于线上的bug 项目使用了友盟统计,因此会有崩溃日志,通过解析dYSM可...

  • 线上bug追踪之Sentry 定制错误信息(三)

    线上bug追踪之Sentry初步尝试(一)线上bug追踪之Sentry release+sourceMap(二) ...

  • 记一次线上对外的一次低级BUG!

    今天老板一个需求,里面就去搞了,然后打包发布,很正常的流程。 然后启动tomcat的时候,启动完成突然报错 启动...

  • 记一次BUG

    一、如何快速的给大量轨迹点打上区划代码?1、高德爬取街道中心点,行政区划中心点和边界。2、精度要求较高的,将边界加...

  • 记一次bug

    错误细节,用户名无法拖动,其他的栏都可以对应的长短拖动(表头和表格内容一起动) 代码: 错误原因,在第一栏这个fi...

  • 记一次BUG

    这里审核出错 后台写的: 出错原因,这里判断也examine_status ==1,这里不行,这成Boolean了...

网友评论

      本文标题:记一次线上bug

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