代码水土不服
分类:
新写的代码,上线一跑就死,那不用说,基本都怀疑是新代码的BUG,
但某代码已在线运行多年,都认为很稳定了,只是换了个环境就不行,你先怀疑谁?
我先怀疑代码版本不对(低级错误),
版本没问题,怀疑部署的不对,
部署没问题,开始怀疑新机器哪个依赖库不对,
依赖库没问题,怀疑新操作系统跟目前代码版本兼容不好,
操作系统没问题,怀疑老代码可能就是有BUG,只是以前没发现而已,
还找不到问题,怀疑人生!
某模块移植到新环境不好用, 其实这类问题遇到过好几次,具体问题具体分析,
我见过的几类给大家分享:
1-定位是部署的问题,代码版本确实是一样的,但conf不一样,导致业务处理有问题。
2-定位是代码的问题,修改了原始包内容,但BMJ平台用的是TOPSEC驱动,不允许修改原始包内存,有write操作就死。
3-定位是新运行环境的问题,因为底层分流策略不同,采用五元组分流,导致FTP模块无法正确关联。
4-其实都不算哪一方的问题,但合在一起就不行,在另一个帖子说过了,因为符号名冲突导致!
5-定位是已有模块一直存在的问题,和新的模块不兼容,在另一个帖子说过了,因为libpag.so库竟然限制应用打开的fd句柄数!
查看评论
- 1楼 李碧 2017-07-03 19:41:05 [回复]
- 666