首页

都市青春

首富从入职阿里开始薅羊毛

设置

字体样式
字体大小

首富从入职阿里开始薅羊毛:第426章 天快亮了!

一月三号,凌晨两点四十。 三楼调试间的灯没关过。 从十二月初封闭开发到现在,这间屋子的日光灯管亮了整整一个月,中间换过一根,靠窗那根,闪了两天之后自己灭了,老周让方远去行政部领了一根新的,方远扛着一米二长的灯管从走廊那头走过来的时候差点撞到消防栓。 现在四根灯管都是亮的,白光,偏冷,照得每个人脸色都有点发青。 调试间里还剩两个人。 老周趴在靠门那张桌上,头枕着左胳膊,右手搭在键盘边上,手指微微蜷着,搪瓷缸歪在手边,杯口的豁口朝上,里面还有小半杯茶,凉透了,茶叶片贴在杯壁上,深褐色的。 他大概是十二点多睡着的。 方远没有叫他。 方远在最里面那张桌上,三块屏幕,左边跑着v2.0引擎的72小时持续测试日志,绿色的字在黑底上一行一行往上滚,速度很快,像瀑布,中间是代码编辑器,光标停在第1847行,右边是测试用例的覆盖率面板,数字在缓慢变化。 72小时持续测试从元旦那天下午三点开始。 到现在已经跑了将近六十个小时。 本地账本模块,占用锁机制,最终一致性回调,1000并发,模拟断网,模拟重连,模拟高延迟,模拟丢包,每一种异常场景都跑了至少两百轮。 六十个小时,零异常。 方远看着左边屏幕上的日志,绿色的,一直是绿色的。 他揉了一下眼睛,眼镜摘下来放在桌上,镜片上有指纹,他用T恤的下摆擦了两下,没擦干净,又戴回去了。 六十个小时零异常。 按照正常流程,72小时跑完就可以出测试报告了,再过十二个小时,到明天下午三点,全绿就交。 他本来可以去睡的,隔壁会议室铺着两个睡袋,一个蓝色一个灰色,蓝色的是他的,枕头是从家里带的,记忆棉的,已经有点塌了。 但他没去。 不是不困,是他有个习惯,跑长时间测试的时候,他喜欢盯着日志看,不是看有没有错误,是看日志的节奏,正常运行的日志有一种节奏感,像心跳一样,均匀,稳定,如果有什么地方不对,节奏会变。 他盯了一会儿。 绿色的字,一行一行。 凌晨两点五十一分。 日志的节奏变了。 不是报错,颜色还是绿色,但两行日志之间的间隔从平均3毫秒跳到了7毫秒,然后回到3毫秒,然后又跳到了9毫秒,然后回来。 他坐直了。 心跳漏了一拍,不是他的心跳,是日志的心跳。 他把日志窗口拉大,打开时间戳详细模式。 找到了。 第58小时43分12秒,本地账本和中心账本的一致性回调过程中,有一个极小概率的竞态条件,当离线时间超过72小时后重新上线,如果本地账本在回调过程中同时收到新的交易请求,占用锁的释放顺序会产生一个0.003%概率的冲突窗口。 0.003%。 三万三千次里出现一次。 在冬奥的实际场景中几乎不可能触发,断网不会超过72小时,一个小时都不太可能,测试大纲上的离线场景最长也就几分钟。 几乎不可能。 他盯着那个数字看了十秒。 然后他打开代码编辑器。 光标从第1847行跳到了第2091行,占用锁的释放逻辑。 他开始改。 调试间里很安静,暖气管每隔一会儿咔一声,像有人用指甲轻轻弹了一下铁管,走廊尽头自动售货机的灯在闪,一明一暗,节奏跟暖气管不同步,两种声音交替出现,像两个人在用不同的方式呼吸。 方远不看时间。 他在代码里加了一层时间窗口校验,如果本地账本的离线时长超过设定阈值,回调过程中的占用锁会自动进入排他模式,拒绝一切新交易请求直到回调完成。 这个改动很小,逻辑上只是加了一个if判断,但要保证这个判断不影响正常场景下的性能,需要调整锁的释放序列。 他从第2091行改到第2128行。 37行。 改完之后他没有立刻提交,他先在脑子里过了一遍,37行代码,每一行他都能说清楚为什么这么写。 然后他回头看了一眼老周。 老周还在睡,姿势没变,右手搭在键盘边上,食指微微搭在空格键上,随着呼吸起伏,轻微的幅度,键盘没有响,搪瓷缸还歪着,茶叶片在杯壁上没动过。 他没叫。 他打开测试框架,把修改后的代码加载进去,启动一轮完整的回归测试。 屏幕上开始跑。 绿色的字又开始往上滚了。 他靠在椅背上,摘下眼镜,用拇指和食指捏了一下鼻梁,眼睛有点酸。 回归测试跑了四十分钟。 全绿。 他重新戴上眼镜,把修改提交到代码仓库。 提交记录的备注栏。 他在里面打了一行字。 “72h+静态修复·实际触发概率≈0·但不允许≈0。“ 保存。 然后他在测试用例文件里新开了一组,168小时,上周老周说“无上限“的时候他就想好了,168小时是7天,够了,如果168小时也跑不出问题,那这个bUg就算是彻底封死了。 168小时的用例会在后台自动跑,不需要人盯着。 他站起来。 椅子在地板上蹭了一下,声音不大,但在凌晨的安静里还是很清楚。 老周动了一下,没醒,呼吸变了两秒,又匀了。 方远走到窗边。 调试间的窗户不大,对面是微光总部的B栋,灰色的外墙,窗户都是暗的,楼下停车场空空的,路灯亮着,橘黄色的光打在地面上,湿漉漉的,大概半夜下过雨。 天际线的边缘有一条很淡的灰白色。 天快亮了。 杭州十二月底的天亮得很晚,要到七点以后天际线那道灰白色才会变成蓝灰色,再变成灰白色,再慢慢亮起来。 他看了一会儿。 走廊那头自动售货机的灯还在闪,暖气管又咔了一声。 他回到座位上,把眼镜推了一下。 拿起手机看了一眼时间,四点十九分。 睡袋在隔壁,记忆棉枕头有点塌了。 他想了想,把手机放下,拉过键盘,打开了168小时测试的实时日志。 绿色的字开始滚了。 他看着。 ………… 上午九点二十,林彻到了三楼。 调试间的门开着,老周坐在桌前,搪瓷缸换了新茶,热气从豁口那里冒出来,方远不在。 “方远呢?“ “隔壁睡了,四点多的时候,“老周端起搪瓷缸喝了一口,“他昨晚修了一个东西。“ 林彻看了一眼老周的屏幕,72小时持续测试的最终报告,全绿,旁边还开着一个窗口,168小时测试正在跑。 “能?“ 老周放下搪瓷缸。 “能。“