码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 记一次问题排查


    背景:做了一个定时job的需求,本地测试没有问题,上线后发现定时job执行超时,询问相关人员,说是调用下游服务失败,经查看代码,发现逻辑中确实调用了下游服务

    排查过程:

    1.本地可以正常run,但是上到测试环境有问题,第一个思路是:是不是本地和测试环境的环境变量不一致导致的?

    于是仔细对比了本地和测试环境,发现没有区别

    2.开启debug模式,发现在debug的过程中,在第一次调用下游服务的时候,偶现可以拿到数据,但基本上拿不到数据,且client报NPE,于是一直在排查为啥没有拿到数据,没有结果

    本地去调用第三方服务,相同的参数完全可以拿到数据,到底是为什么呢?

    3.debug无果后,直接看日志信息,通过日志发现,在调用下游服务时,第二次拿到的结果为空,那是不是下游服务没有返回?查看了下游服务的日志,发现两次请求都返回了,但是服务能拿到第一次返回结果,拿不到第二次返回结果,且日志中报出了中断异常

    4.第一反应中断异常是不是由于线程问题导致的?且从日志中可以看到调用下游的接口是报了Unkown Source,所以当时严重怀疑是线程问题,于是在第二次调用下游服务的时候进行了sleep,但发现解决不了问题

    5.最后经过排查发现日志:

    com.xxl.job.core.thread.JobThread,这一行日志表示线程池是有超时控制的,既然有超时,那调整下超时时间,果然成功了!!

    为什么排查那么久?

    1.debug过程中发现client NPE ,误以为问题一定是出现在调用下游服务有问题,且这个NPE让人以为是没有拿到bean,导致无法正常获取数据,在这块上耗费了不少时间

    2.有对线程问题进行过怀疑,毕竟报出了中断异常,但一直考虑的是不是两次rpc调用的时候出现问题,导致第二次调用rpc被中断,还是围绕rpc来排查问题

    解决和反思:

    专注于最初的日志,其实日志中已经报出来是中断异常,但是当时想到的是线程控制,应该可以看到更下沉的日志信息,这样就可以很清楚的看到是定时job超时导致的问题

  • 相关阅读:
    报告解读下载 | 7月《中国数据库行业分析报告》重磅发布!精彩抢先看!
    NLP教程(7) - 问答系统
    爬虫与反爬:一场无休止之战
    WuThreat身份安全云-TVD每日漏洞情报-2023-09-22
    Python+pandas编写命令行脚本操作excel的小tips
    为什么软件供应链攻击愈演愈烈?
    【Qt控件之QTableWidget】使用及技巧
    含文档+PPT+源码等]精品基于SSM的物流管理系统[包运行成功]Java毕业设计SSM项目源码快递管理系统
    (rabbitmq的高级特性)死信交换机
    【C++】string的接口从生涩到灵活使用——这篇文章就够了
  • 原文地址:https://blog.csdn.net/mumuwang1234/article/details/127648409
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号