首页 > 运维 > linux运维 > 正文

MarsTalk | Trouble Trouble Shooting

絕刀狂花
发布: 2025-07-18 11:24:15
原创
243人浏览过

大家好,我是mars先生的小量子!今天minmin忙于空手道训练,无暇顾及本周的推送,只能由我来紧急救场了。最近处理了几个客户反馈的bug,搞得我头疼不已,借此机会分享一下我处理这些问题的经历。

说起来,我之前在爱奇艺工作时,经常处理内部同事的Trouble Shooting问题。那时的客户都是公司内部的同事,程序也部署在公司的服务器上,我们有服务器的root权限,Trouble Shooting起来非常方便。首先,复现问题非常容易,因为客户出bug的环境就是我们自己的环境,其次可以使用各种linux和jvm的调试工具

自从来到PingCAP之后,现在的客户都是外部公司的开发人员,程序都部署在对方公司的机房。条件好的客户会给我们开一个远程界面,可以远程操作;条件不好的连一个Error Stack也拷贝不出来,只能拍个模糊的照片发给我们,真是让人头疼~~

本文主要分享一下我在PingCAP处理的一些Trouble Shooting案例。

01

文件权限问题

某天,一个客户告诉我他们无法读取数据。于是我开始了一整个下午的Trouble Shooting之旅,首先获取了客户的远程控制权限。

  1. 确认版本 => 没有问题
  2. 检查配置是否正确 => 没有问题
  3. 查看日志 => 没有异常
  4. ...

尽管检查了所有可能的原因,但就是无法读取数据。最后无意中发现tispark的jar包在linux上的权限设置有误,导致提交spark任务的用户没有权限读取。

原来,客户是手动将tispark的jar包拷贝到安装目录的,但用的linux用户不对。

02

分布式集群版本不一致

又有一天,一个客户告诉我出现了错误。

MarsTalk | Trouble Trouble Shooting根据以往经验,这个错误通常是由于在分布式集群上使用了两个不同版本的jar包,在序列化和反序列化时会检测到前后类不一致,从而抛出错误。再加上用户提到是集群升级后出现的错误,基本可以确定用户在升级时没有替换所有的jar包,或者某些进程没有重启。

让客户自己排查一下,果然证实了我的猜测。

03

版本需要升级

又有一天,一个客户告诉我出现了错误。

MarsTalk | Trouble Trouble Shooting这个Error Stack看起来有点眼熟,好像是之前修复过的一个bug。询问了一下客户使用的版本,果然是比较老的版本。让客户升级到最新版,问题就解决了。

StickerBaker
StickerBaker

免费开源的AI贴纸头像生成工具

StickerBaker 157
查看详情 StickerBaker

04

第三方库内存泄漏

又有一天,一个客户告诉我出现了错误。

经调查发现,tispark和tikv通讯时使用了GRPC,而GRPC底层使用netty进行通讯。这个错误表明是由于netty在通讯时需要申请native memory,而错误是由于native memory不足导致的。

让客户将内存从1G调大到8G后,之前无法运行的任务可以顺利运行。

几天后,客户又告诉我出现了新的错误。

我初步怀疑问题的本质原因是netty有内存泄漏。尝试在本地复现失败,只能到客户现场获取heap dump回来分析。

最后,我发现19个PoolChunk对象,每个16M,总共占用了约304M的内存。

MarsTalk | Trouble Trouble ShootingPoolChunk对象被PoolThreadCache引用,因此怀疑是Netty的PoolThreadCache机制导致的内存无法释放。

MarsTalk | Trouble Trouble Shooting为了验证这个猜想,我们让客户添加了这个参数

-Dshade.io.netty.allocator.type=unpooled
登录后复制

也就是说让Netty禁止使用Memory Pool,发现客户的程序可以正常运行。


大家好,我是训练完之后回家帮Mars调整微信文章格式的HelloMin。看完他的文章,我突然有种老公其实是客服的幻觉?说好的数据库高级工程师呢?微信每次都不回我,原来都在和客户聊天???

钱不好挣啊~

Schönes Wochenende!

我的2019周更计划已完成:39/52

[************......]

以上就是MarsTalk | Trouble Trouble Shooting的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号