一次線上故障引發的警示

這次引發的線上故障和我有直接關係,現分析一下這次故障產生的原因和經驗教訓,還請大家引以爲戒。

原因分析:
1、在XXX升級包開發過程中,編寫僞登陸接口測試用例時走讀接口代碼發現對接口參數控制不嚴格(判斷參數是否爲null)對其重構爲更嚴格參數控制(判斷null或空字符串),但未考慮到代碼中的潛規則:調用方就是傳遞空密碼字符串,實屬好心辦了壞事。
2、重構代碼後沒有仔細進行代碼review和測試。

經驗教訓:
1、代碼修改前一定要慎重,確認修改後要進行代碼review和測試,保證系統的可用性和穩定性。由於公司註冊會員數已經超過2億,任何一個細微的程序錯誤都會帶來較大影響,2億的萬分之一概率也會影響到2萬會員。
2、系統中的一些代碼潛規則需要加以注意,避免掉入陷阱。例如前面遇到過一類情況,下表中第2、3種情況通過查看外圍系統或核心系統代碼可以發現問題,但第4種情況通過查看核心系統代碼發現問題後如果憑以往經驗修改爲正確邏輯會導致執行結果錯誤,只有通過和外圍系統聯調才能發現問題。

外圍系統調用代碼 核心系統接口代碼 執行結果
--――――――――――――――――――――――――――――――――
1 正確 正確 正確
2 正確 錯誤 錯誤
3 錯誤 正確 錯誤
4 錯誤 錯誤 正確

希望通過這次事件給自己敲響警鐘,盡一切可能降低下半年的故障指數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章