您的位置:首頁 > 滾動 >

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

2023-06-04 13:44:04 來源:指股網(wǎng)


【資料圖】

AzureDevOps提供一組集成的服務(wù)和工具,用于管理軟件項目,從規(guī)劃和開發(fā)到測試和部署。Mattingly解釋說,AzureDevOps的工程師有時會對生產(chǎn)數(shù)據(jù)庫進行快照(Snapshot),以便調(diào)查報告的問題或測試性能改進。他們依賴于一個每天運行的后臺系統(tǒng),該系統(tǒng)會在一定時間后刪除舊的快照。近日AzureDevOps的工程師進行了一次代碼升級,用支持的Azure.ResourceManager.*NuGet包替換了已棄用的Microsoft.Azure.Managment.*包。這導(dǎo)致了一個大型的拉取請求,其中更換了舊包和新包中的API調(diào)用。拼寫錯誤就發(fā)生在這個拉取請求中,它將刪除快照數(shù)據(jù)庫的調(diào)用換成了刪除托管數(shù)據(jù)庫的AzureSQLServer的調(diào)用。AzureDevOps有專門的測試來發(fā)現(xiàn)這樣的問題,但Mattingly說,由于錯誤的代碼只在某些條件下運行,因此現(xiàn)有的測試覆蓋不到。幾天后,軟件更改被部署到南巴西規(guī)模單元(特定角色的服務(wù)器集群)的客戶環(huán)境。該環(huán)境有一個老的快照數(shù)據(jù)庫,觸發(fā)了這個錯誤,導(dǎo)致后臺任務(wù)刪除了“整個AzureSQLServer和所有十七個生產(chǎn)數(shù)據(jù)庫”。所有數(shù)據(jù)都已經(jīng)恢復(fù),但花了十多個小時。Mattingly說,有幾個原因造成這種情況。其中之一是,由于客戶無法自己恢復(fù)AzureSQLServer,必須由值班的Azure工程師來處理,這個過程大約需要一個小時。另一個原因是,數(shù)據(jù)庫有不同的備份配置:有些配置為區(qū)域冗余備份,有些配置為更新的地理區(qū)域冗余備份,解決這種不匹配增加了很長的恢復(fù)時間。為了防止問題再次發(fā)生,Mattingly稱微軟已經(jīng)采取了各種修復(fù)和重新配置措施,并再次向所有受此中斷影響的客戶道歉。
關(guān)鍵詞:

最近更新