第二天早上六點,手機在床頭柜上唱歌。
路文濤迷糊中以為鬧鐘響了,但不對,鬧鐘是許巍的歌,現在是加拿大搖滾樂隊“Nickelback”在嘶吼,那是他設置的來電鈴音。
路文濤摸到了電話,杰瑞聲音顯得特別大:“老路,我們郊外那五十個基站今天凌晨兩點多自行重啟了,這次市區里的六十多個基站全部正常。”
“我靠!什么傻逼情況?”
有一陣子沒有說“傻逼”二字了,他脫口而出,然后,抱歉地看了一眼被驚醒的吳儷儷,去了衛生間關著門繼續電話。
杰瑞說:“‘網管’上有告警,值守的兄弟當時就發現了,通知了我,我們已經和研發的兄弟在電話會議了,但是仍然沒有有價值的日志。”
“兩點多的事情,你怎么六點鐘才通知我?”
“一樣的現象,三分鐘就恢復正常了。下面的客戶還沒往他們上級報。技術上的事情我來組織,讓你多睡幾個小時唄,天亮了就該你去給客戶領導跪了。”
路文濤嚷道:“幸好昨晚沒在客戶界面的日報中說是電力檢修導致,不然丑大了!嗯,會不會恰好郊外那個區域今天凌晨電力檢修?”
杰瑞以一個技術男的邏輯冷靜地說:“等客戶上班了我就去問。我看到你昨晚的郵件了,正好驗證,如果恰好今天也有電力檢修,那就基本驗證了之前的結論。如果沒有電力檢修,那就基本排除了電壓的原因。家里也別扯蛋說可能是現場有外部因素影響了,聚焦我們自己的產品問題!”
他們很快了解到,電力公司當天并沒有做任何操作。
17日凌晨兩點多,市區內“偉中”的全部基站重啟,“萊茵電信”在那一帶的手機通信中斷了三分鐘。
21日凌晨兩點多,郊外“偉中”的全部基站重啟,“萊茵電信”在那一片地方的手機通信中斷了三分鐘。
地點不同,兩個地方基站的站型不盡相同,相同的除了“故障現象”,就是凌晨兩點多這個時間點。
“偉中”將技術問題處理的級別進一步上升,公司成立了跨硬件、軟件等多個部門的攻關組,每天通報攻關進展。
但故障現象未重現,重啟時無日志記錄,產品研發排查了幾處疑點,遲遲不能定位故障原因。
其它技術問題倒是已經清理干凈,小規模驗證能否在9月1日前通過客戶驗收的瓶頸只在于此。
24日凌晨兩點多又來了一次!這次是市區內的全部基站重啟,郊外的沒事。
算起來一個星期時間里兩個區域出現了三次同樣故障,每次均導致區域之內所有手機在三分多鐘內完全“沒信號”,并且別說原因,連故障規律都沒有摸清楚,前后方一樣壓力巨大。
24日晚上,路文濤、杰瑞兩個人仍在“作戰室”里,墻上張貼著項目組織結構圖、項目計劃、進度監控,還有一幅掛歷。
路文濤新買了一副配套電腦的藍牙耳機,頭戴式、帶麥克風的。他這會兒覺得腦子轉不動了,小憩,試試新耳機的藍牙傳送距離能有多遠?只見他一會兒走近電腦,一會兒離遠電腦,一會兒走出會議室往洗手間去。
杰瑞看著墻上掛歷發呆,他剛才在17日、24日上各畫了個星,在21日上畫了個圈。
路文濤回來:“不錯,電話會議神器!不過美中不足,一進廁所門就斷掉了,不能一邊拉屎一邊開會。今后在家里參加一些無聊的會的時候,把電腦放在客廳,一邊開會一邊炒個菜是沒問題的。”
杰瑞的注意力在墻上,他突然說:“我知道了!”
“你知道什么了?”
“規律,我們的重啟有很明顯的規律,它是個輪回。”
路文濤摘下耳機,瞪著杰瑞:“輪回?四象生八卦,八卦化重啟?問題搞不掂,玄學出來了?”
杰瑞指著掛歷:“我們總想著17日、21日、24日的日期,實際上是每個星期五凌晨兩點市區的基站重啟,每個星期二凌晨兩點郊區的基站重啟,換成星期幾來看,規律就看得明顯了!接下來應該是28日星期二凌晨郊區的基站重啟。”
路文濤朝著墻上掛歷:“你這有點兒勉強吧?那為什么會這樣?我們的新版本會來大姨媽?一個星期來一次?”
“為什么會這樣?這要產品研發來回答,我又看不到代碼。不過,你看!”
杰瑞說著站起來,拿一支白板筆,走到掛歷前,在10日上畫了兩個星星,在14日上畫了兩個圈圈:“我們10日把城里的更新了版本,因為那天客戶老大發飆,所以客戶要求我們多觀察兩天,確認新版本不會比原來的更爛以后再動郊區的,我們是在14日凌晨更新了郊區的版本。我們更新版本時正好是在凌晨兩點多做了一次重啟,現在應該是從第一次重啟的時間開始,每運行七天就會重啟一次,城里是10日、17日、24日,郊外是14日、21日。”
路文濤覺著他講的有邏輯了,問:“10日和14日更新版本的時候,幾十個基站都是在兩點多同時重啟?”
杰瑞說:“老大,我們升級是把新軟件通過‘網管’成批地發到基站上去的,我記得差不多都是在這個時間點,這個可以查得到。”
一旦發現了問題的規律和線索,定位原因就快了。
產品研發團隊找到了故障原因,新版本的軟件質量存在問題:
軟件設計中在某處XXX字節內存,每次應該占用一部分然后釋放,結果它不釋放,七天之后內存溢出,程序運行要用到的內存大于系統能提供的最大內存,此時程序就運行不了,導致自動重啟。并且周而復始,每七天溢出、重啟一次。
一旦定位了問題原因,解決問題就快了。
他們再次更新了軟件,這次產品研發提供的是熱補丁,也就是說不需要中斷業務,不需要重啟設備就可以修復當前版本的缺陷。換上新的軟件之后,再沒有發生基站在半夜自己重啟的“怪事”。
終于,“偉中”跌跌撞撞通過了小規模驗證的驗收,項目進入到大規模部署基站的階段。下一階段,他們要用七個月時間在德國全境部署幾千個無線基站。
產品研發主管任志剛給路文濤打了一個電話,他不好意思地說:“路總,這次版本問題多了點,一線的兄弟們辛苦了!你老大多擔待!”
“確實太爛了!內存溢出沒告警、沒日志的?不過,我聚焦解決問題,不發泄情緒,現在問題解決了,公司該怎么回溯、問責版本質量不關我的事!”
路文濤記起了什么,立即接著說:“不行,我要給你發個感謝信,感謝你及時提供版本、及時排除故障!上次大佬們威脅要把我倆對調個位置,讓我倆對換腦袋思考,對換屁股繼續撕,我在海外還沒呆夠了,而且能力有限,干不了你這個活兒!萬一大佬們還沒忘記這事,決定現在把你踢到德國來,讓我回去填你的坑,那我可會死得很快!”
長江上游灘多流急,中游水道復雜,下游靜水潛流。在這個世紀的第二個十年,“偉中”的全球化之路就仿佛是長江行船到了中游,公司在海外各國的一線團隊常常會撞上過去不曾遇見過的挑戰。
這種挑戰區別于初登上全球化大舞臺之際因為陌生而來的新鮮挑戰,而是當你站在舞臺中央之后,因為聚光燈把你從頭到屁股照得纖毫畢現而來的復雜挑戰。
一波即平,一波即起,眨眼到了9月下旬,“萊茵電信客戶部”風波又起。
這一次惹來麻煩的是偉中公司“萊茵電信”無線替換項目組的技術總負責杰瑞,但他惹來的麻煩卻不是一個技術問題。