以下我們用穩當當公司(TWSE: 9487)最新出產的伺服器來看一下這個例子。
在一個風和日麗的星期一下午,穩當當公司的工程師們喝著咖啡,一邊聊著今天的股市AI是不是又變成BI了,他們還不知道一場災難即將來臨。
突然間有個加勒比海上的陌生的公司寄信過來,反應說他們的機器突然自己關機了,幸好他們平常管理得當,該備份的有備份,該備援的有備援,沒有造成什麼嚴重的服務中斷。自己關機的那台伺服器在工程師到場手動重啟後,目前看來一切正常。但是想請我們分析一下有沒有什麼後續的影響,或是要注意的地方。
客服工程師A一貫的表現出他的專業,先請對方把該收集的log拿一拿,就又繼續填寫團購的表單。由於他的經驗老練也沒太把這件事放在心上,只是一邊寫信一邊碎唸著,對方如果很chill的話,說不定我要下個月才會收到回信了呢,哈哈!
A:「大家快點填一填呀,老板說下午四點前送出的話,星期三下班前就可以到貨了」
時間來到星期三的上午,客服工程師B也接到了一通電話,是某某網路中心的客人打來說新買的機器還在設定的過程也自己關機了。由於A正忙著跟老板確認缺貨的品項以及要更換的產品,B並不知道已經有先前的案例了,只是在電話裡也交代著讓客人提供詳細的發生經過,後續再用email跟對方討論。
午餐過後,大家正準備要午休的時候,業務的電話來了。
「剛剛抬雞店的MIS主管打來,抱怨說他們上個月剛買的1百台機器,在部署的時候會隨機的發生關機的狀況,目前統計已經有快20台都有發生過不只一次了,客人要求我們下午找RD一起跟客人開會,給出一個解決問題的計畫。」
由於事關大客戶,加上對方的主管也要參加會議,大家只好分頭連絡自己的高階主管,以及相關人員等等一起開會。
會議的過程,客人簡單描述了下機器從拿到、開始使用,到發生問題的經過。RD們身為主角卻少見的話不多,只是簡單問了下客人有沒有log可以參考以及目前機器上的FW版本。最後交代了下客人,讓他們幫忙收集所有能看到問題的log,等全部分析完後再給下一步的建議。
會議結束後,各個部門回到自己的工作崗位上:
客服工程師A:
這個問題我好像最近有被問到耶,是從加勒比海那邊的客人發現的。
客服工程師B:
機器自己關機我最近也有聽到,是從某某網路中心打電話過來問的。
此時,客服工程師A恰好收到加勒比海客人的郵件,當他打開機器的log時,大家都緊張的圍過來看
OMG!這個log也太詭異了吧,溫度在1秒間從69度驟降為20度,看來是溫度的sensor異常,導致的機器關機。
不過只有一份log,要做出什麼猜測好像也太早。目前還需要等到把所有客人的log都看過一次後才比較有把握是不是sensor的異常。
更令人意外的是,當大家把log轉發給RD部門時,他們竟然說這是個Known issue,而且已經早就解掉了?!
RD解釋,問題的源頭是來自於FW讀取sensor時的雜訊,造成溫度sensor突然飆高,導致系統關機。因此在FW 3.32時已經加入了FW自我糾正的機制。
由於機器生產批次的關係,早買的客人容易拿到比較舊的FW,新買的客人通常機器上搭載的FW比較新,但是也會有同個客人,買同樣的機器因為到達批次不同,有新舊FW混合的問題。
RD表示,目前該機種的最新FW是3.52版,可以請客服工程師們向所有客人收集FW版本資訊來做初步釐清。
隨後一共從三個客人那邊得到了發生過問題的機器FW版本
加勒比海客人: 3.12
網路中心:3.12
抬雞店: 3.12 + 3.52
咦?為什麼抬雞店客人拿到的3.52,還是發生相同問題呢?
「難不成真的遇到了什麼HW issue嗎?跟以前的known issue無關?」
「會不會有什麼corner case沒有考慮到? 導致問題又再次發生了?」
「還是乾脆做個測試版的FW讓客人debug算了」「可是你能知道測試FW該燒在那一台,還有什麼時候會再發生嗎?」
...
..
.
此時眾說紛紜,只有負責這個FW的RD一直沒有開口,最後他出聲打斷了大家的討論。
「不然我們來確認一下目前這些客人手上所有機器的FW設定好了,等看完結果再來討論下一步」
因此,這名RD趕緊離開會議回到自己的位子上趕工,著手要給客人確認FW設定的工具與腳本,其他人忙著向上回報目前進度以及該由誰來發信給其他客人做進一步的回覆。
而此時,客服部門的電話正響著,而不同的客人也一直發新的信件來回報相關問題。
貨運行的司機正在反覆的打著客服工程師A的電話,但是都沒有人接...最後只好傳了簡訊過去,然後把東西留在警衛室。
星期四的早上,一樣是風和日麗的一天。
咖啡機正在運作著,喝咖啡的人是昨晚熬夜趕工的RD,工具和腳本總算順利完成,交到各個客人手上去了。
現在就等著客服工程師們回報拿到的結果。
You Got Mail! RD看了一下手機裡的信,是客服工程師A寄來的:
加勒比海客人: 3.12 x 1(舊設定)
網路中心:3.12 x 3(舊設定)
抬雞店: 3.12 x 20(舊設定) + 3.52 x 30(舊設定) + 3.52(新設定)
WTF?
怎麼會有新版FW卻是搭配舊版設定的現象?!
經過後來跟出貨的業務與生產單位做確認:
原來抬雞店手上拿到的100台機器裡,
原本有50台出廠時搭載3.12,套用了舊設定,
另外50台是出廠時搭載3.52,套用新設定。
由於他們發現拿到時有兩個版本,因此手動做了更新,將3.12的FW升級到3.52,照理來說要套用新設定。
但是FW升級的過程中,因為想要保留已經設定好的部分,反而將這個3.12的bug也跟著帶到3.52來了。
所以最後才成為了現在的情況,此時真相總算大白。
後續讓客人升級到新版FW,並針對這個bug不要保留相關設定,
之後經過幾個星期到幾個月的觀察就都沒有再發生過了。