一個(gè)代碼拼寫錯(cuò)誤,導(dǎo)致微軟Azure DevOps服務(wù)在巴西停擺十小時(shí)

來源:IT之家
作者:遠(yuǎn)洋
時(shí)間:2023-06-05
2713
由于一個(gè)簡單的代碼錯(cuò)誤,微軟Azure DevOps在南巴西地區(qū)的服務(wù)中斷了約十個(gè)小時(shí)。

IT之家 6月4日消息,由于一個(gè)簡單的代碼錯(cuò)誤,微軟Azure DevOps在南巴西地區(qū)的服務(wù)中斷了約十個(gè)小時(shí)。IT之家注意到,微軟的軟件工程經(jīng)理Eric Mattingly在周五為這次中斷道歉,并揭示了事故的原因:一個(gè)拼寫錯(cuò)誤導(dǎo)致了十七個(gè)生產(chǎn)數(shù)據(jù)庫被刪除。

d0056cd5-6661-4cf8-acd4-6f28abe2d2e1.webp.jpg

Azure DevOps提供一組集成的服務(wù)和工具,用于管理軟件項(xiàng)目,從規(guī)劃和開發(fā)到測試和部署。Mattingly解釋說,Azure DevOps的工程師有時(shí)會(huì)對生產(chǎn)數(shù)據(jù)庫進(jìn)行快照(Snapshot),以便調(diào)查報(bào)告的問題或測試性能改進(jìn)。他們依賴于一個(gè)每天運(yùn)行的后臺(tái)系統(tǒng),該系統(tǒng)會(huì)在一定時(shí)間后刪除舊的快照。近日Azure DevOps的工程師進(jìn)行了一次代碼升級,用支持的Azure.ResourceManager. NuGet包替換了已棄用的Microsoft.Azure.Managment. 包。這導(dǎo)致了一個(gè)大型的拉取請求,其中更換了舊包和新包中的API調(diào)用。

e9439f23-c238-4aef-8a69-ecb469896454.png拼寫錯(cuò)誤就發(fā)生在這個(gè)拉取請求中,它將刪除快照數(shù)據(jù)庫的調(diào)用換成了刪除托管數(shù)據(jù)庫的Azure SQL Server的調(diào)用。Azure DevOps有專門的測試來發(fā)現(xiàn)這樣的問題,但Mattingly說,由于錯(cuò)誤的代碼只在某些條件下運(yùn)行,因此現(xiàn)有的測試覆蓋不到。

幾天后,軟件更改被部署到南巴西規(guī)模單元(特定角色的服務(wù)器集群)的客戶環(huán)境。該環(huán)境有一個(gè)老的快照數(shù)據(jù)庫,觸發(fā)了這個(gè)錯(cuò)誤,導(dǎo)致后臺(tái)任務(wù)刪除了“整個(gè)Azure SQL Server和所有十七個(gè)生產(chǎn)數(shù)據(jù)庫”。

所有數(shù)據(jù)都已經(jīng)恢復(fù),但花了十多個(gè)小時(shí)。Mattingly說,有幾個(gè)原因造成這種情況。其中之一是,由于客戶無法自己恢復(fù)Azure SQL Server,必須由值班的Azure工程師來處理,這個(gè)過程大約需要一個(gè)小時(shí)。另一個(gè)原因是,數(shù)據(jù)庫有不同的備份配置:有些配置為區(qū)域冗余備份,有些配置為更新的地理區(qū)域冗余備份,解決這種不匹配增加了很長的恢復(fù)時(shí)間。

為了防止問題再次發(fā)生,Mattingly稱微軟已經(jīng)采取了各種修復(fù)和重新配置措施,并再次向所有受此中斷影響的客戶道歉。

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
文章來源:IT之家
版權(quán)說明:本文內(nèi)容來自于IT之家,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對觀點(diǎn)贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家