大佬们,没有明显逻辑错误的线上报错应该如何排查。

2023-12-26 15:38:48 +08:00
 xianxia

背景:公司的某项业务,程序可以正常执行,但是执行结果不对,得到的数据不全。

排查方式:看了遍代码逻辑,没有明显的逻辑问题,看了眼处理后的数据库中数据,除了不全以外没有问题,要同步过来的数据也都是符合要求的。

问题:像这种的问题,应该如何排查比较好。涉及公司业务,说的有点含糊,大佬们见谅。

1614 次点击
所在节点    程序员
21 条回复
liprais
2023-12-26 15:39:39 +08:00
用 left join 不用 inner join
xianxia
2023-12-26 16:53:17 +08:00
@liprais 排查不出来原因,现在还不敢动代码,线上报错,有什么比较好的排查方式吗
gzq1989891
2023-12-26 16:56:44 +08:00
部署链路跟踪,增加业务处理日志。
AntiFraud
2023-12-26 17:15:19 +08:00
笨方法,增加若干日志,一路追踪数据变化。
helloeather
2023-12-26 17:36:34 +08:00
大胆猜测,打日志验证
connor123
2023-12-26 17:54:41 +08:00
看到大家都是打日志我就放心了
Light3
2023-12-26 17:57:07 +08:00
往 txt 里面写返回呗
这也能报错的吗?
winglight2016
2023-12-26 17:57:16 +08:00
全链路跟踪都没有吗? java 是最容易实现的了
nice2cu
2023-12-26 19:55:37 +08:00
打日志+1
a582102953
2023-12-26 19:57:33 +08:00
打日志观察数据,这个没有别的办法
zapper
2023-12-26 20:30:08 +08:00
可能原始数据存在特殊数据处理异常丢弃了
不懂你什么语言。是不是内存不够申请失败丢了一些数据,监控一下机器状态
数据处理太久丢弃后续了。看全链路检测那个方法耗时太多

大杀器:打日志
mxw0204
2023-12-27 11:43:59 +08:00
传个 arthas 上去?
xianxia
364 天前
@Light3 处理后的数据是回填到数据库中的,不是报错,只回填了部分数据。
xianxia
364 天前
@mxw0204 我搜下文档
xianxia
364 天前
@winglight2016 大佬,有可以参考的博客或文档吗
LiaoMatt
364 天前
Java 项目的话, arthas 运行时切入程序, 观察参数和返回值
winglight2016
364 天前
@xianxia 看你的运行环境吧,我们在阿里云的 k8s 上,有 SLS 上的 trace 服务,直接外挂在 pod 上,日志详细到方法级,不需要改代码。

其他环境应该也是类似,运行命令,设置 agent ,开源的库应该也有
imokkkk
364 天前
远程 debug 或者 arthas
xianxia
364 天前
@imokkkk 大佬,怎么远程 debug 啊.
xianxia
364 天前
@zapper 原数据是正常没有问题的,至于机器内存缺失不足会丢失部分数据,有这种可能,目前资源不足,使用 spark 执行的导入任务。

已经打日志了,等待代码部署后排查。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1003530

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX