第378章 一级故障2(1 / 2)

管理层们如蒙大赦般退开,陆泽绷紧的肩线肉眼可见地松弛了半分。

陈默走到他身后,这个高级工程师再次紧张,后颈的绒毛都竖了起来。

“集群状态?”陈默问。

“锁…锁服务主节点CPU100%,子节点拒绝握手。”陆泽声音发颤,“仲裁日志显示同步延迟超阈值,触发自锁。”

“还…还在查。”一滴汗砸在键盘上。

陈默俯身,手指划过屏幕调出网络流量热力图。

代表数据中心内部东西向流量的区域正燃烧着病态的深紫。“BP协议流量激增三百倍,”他指尖敲在紫斑中心,“查这个异常节点,现在。”

陆泽像抓住救命稻草,手指终于落向键盘。

命令行的白光在他瞳孔里跳动。

五分钟后,嘶哑的汇报响起:“是…是物料追溯子系统!它在疯狂广播路由更新!”

一直沉默的徐双龙猛地抬头:“不可能!那模块上周刚做完负载均衡切割!”

“但路由表的确在爆炸性增长!”陆泽调出滚动的路由表日志,屏幕被疯狂的“UPDATE”指令淹没。

陈默眼神一凛:“切到备份区独立链路,物理隔离故障节点。”

徐双龙扑向控制台执行指令。

三分钟后,主屏幕上代表网络风暴的紫斑开始消退,但APS核心集群的绿色波浪线依旧是一条死寂的直线。

“锁服务还是没活!”彭聪一拳砸在控制台上。

“内存泄漏源没掐断。”陈默目光如扫描仪般掠过陆泽的屏幕,“dUmp出锁服务进程堆栈,过滤‘MateralTraCe’关键字。”

陆泽依言操作。

海量的内存地址与十六进制码中,一行刺目的报错被高亮捕获:

[FATAL]&bp;MateralTraCe&bp;JVM&bp;heap&bp;OverflOW&bp;-&bp;HaShMap&bp;reSZe&bp;deadlOCk

“哈希表死锁?”徐双龙失声,“这模块的代码审计是我亲自做的!负载测试时百万级物料条目都…”

他的话戛然而止。

陈默已经调出某个开发项目数据库切换日志。

一条记录如冰锥刺入眼帘:

2017-06-27&bp;23:58:11&bp;物料主数据表完成从OraCle到aUSSDB的在线迁移。

死寂。

只有空调风口的嘶鸣在指挥厅回荡。

所有人都明白了。

压力测试清空了数据,却没重置物料表迁移后触发的自增长索引阈值。

当子系统的JVM试图扩容HaShMap以容纳新的物料D段时,撞上了分布式锁的同步机制,两个核心模块在内存的修罗场里同归于尽。

“修复方案?”陈默的声音听不出波澜。

“重启锁服务集群,强制清除死锁。”张锐语速急促,“但数据一致性会崩!排程引擎可能输出冲突指令,引发产线混料!”

“先恢复生产。”陈默斩钉截铁,“数据修复窗口我向左董要。”

他拿起专线电话。

拨号音只响半声便被接通。

“讲。”左梦安的声音依旧洪亮。

“根因确认:公司内部的开发项目数据迁移触发模块级死锁。需立即重启APS锁服务集群,代价是未来24小时排程数据存在冲突风险。”

陈默语速平稳如弹道计算,“申请授权,并协调产线启动人工干预预案。”

电话那头沉默了五秒。

五秒里,指挥厅所有人屏住呼吸。

“准。”左梦安吐出一个字,“数据烂账我可以扛二十四小时。天亮前,我要产线动起来。”

当重启指令最终从陈默唇间吐出时,陆泽几乎是扑在回车键上。

指令化为光脉冲窜入地下光缆的深海,穿过城市地脉,撞进两千公里外松山湖数据中心的核心交换矩阵。

主屏幕上,代表APS核心集群的灰色方块开始闪烁。

一秒,两秒……第五秒,第一个方块泛起微弱的绿意,接着是第二个,第三个!

绿色波纹以燎原之势蔓延,死寂的波浪线猛地抬头,向上蹿升!

“主节点上线!”

“数据同步链路重建中!”

“匈牙利厂区**T线体恢复指令流!”

捷报在指挥厅炸开,压抑太久的欢呼几乎掀翻屋顶。

徐双龙瘫坐在椅子上,指尖还在神经质地颤抖。

彭聪抓起电话狂吼:“接供应链老赵!告诉他机器没死透!”

唯有陈默静立如礁石。

他注视着波浪线稳定攀升至安全阈值,目光却穿过沸腾的人群,落在角落的陆泽身上。

这个高级工程师正盯着自己刚刚按下重启键的手指发呆,仿佛不认识这双让全球产线重新轰鸣的手。

五年前那个冬夜,林有为也是这样看着他的吧?陈默想。

那时他修复ERP死锁后,林总递来一杯滚烫的普洱,什么也没说。

此刻他走向陆泽