跳到主要內容

[科技]GitLab 史上最大危機:工程師誤刪大量資料,導致線上服務崩潰。


  當晚 GitLab 的工程師們已經花了很長時間對抗垃圾訊息的發送者(spammer),這些大量垃圾訊息已經嚴重影響到資料庫的穩定性跟服務速度,甚至嚴重到鎖死資料庫的寫入功能。更嚴重的是二號資料庫連複製都有困難了,跟上線的一號資料庫的同步已經嚴重延遲,甚至拒絕連線一號資料庫。線上處理的工程師裡,有一位工程師的時區位於荷蘭,當時荷蘭已是深夜,身心俱疲的他決定把不聽話的二號資料庫資料全部刪除再重建。


  他本意是要對二號資料庫伺服器特定目錄下 rm -rf(Unix 系的指令,不經 double check 就可以強制刪除所在目錄下的所有資料)指令,結果執行 1 秒或 2 秒後,猛然發現目標伺服器弄錯了,是正在線上服務中的一號伺服器而不是有問題的二號!

  這就好像空難電影裡,雙引擎客機要處理故障的右引擎時,卻把維持飛機動力的左引擎給關掉了。

  緊急取消指令後,300GB 的資料被刪到只剩下 4.5GB。而最後一個潛在可用的備份是 6 小時前手動操作的,一時之間連網站都連不進去了。根據該公司 Google docs 的維護紀錄在最新的訊息提到:「這個事件影響了網站資料庫(包括 issue 問題和 merge requests 合併請求),但不影響 git repos(git 版本管控檔案庫和 wiki 服務)。」

  由於不是所有資料都遺失了,所以對用戶來說還是稍感安慰,但是該文件在「遇到的問題」(Problems Encountered)小節裡,最後總結:

  「因此,換句話說,部署的 5 個不同備份/還原技術中,沒有一個能可靠地工作或第一時間還原回來,我們只能從 6 小時前有效的備份還原。」

  看到這句以後,彷彿全世界所有人的臉都震驚地凍結好幾秒,這有點像鐵達尼號的沉沒是連續好幾個安全機制同時失常。GitLab 表示:

  ⑴ ±6 小時的資料遺失了。

  ⑵ 大致上,受到影響的有 4,613 個常規專案、74 個專案分叉(fork)和 350 個導入(import),總共 5,037 個項目。 由於 Git 儲存庫沒有遺失,我們可以重建這些專案在意外發生前所有的用戶/群組,但是我們無法恢復這些項目任何 issue 問題。

  ⑶ ±4979(所以 ±5000)註解遺失了。

  ⑷ 可能有 707 個用戶不見了,很難從 Kibana 日誌中確定。

  ⑸ 1 月 31 日 17:20 之前創建的 Webhook 被復原了,但在此時間後創建的則遺失了。

  GitLab 成立於 2014 年,獲得 2,000 萬美元的風險投資,客戶包含 IBM、Macy’s、ING、NASA 、VMWare 等。在本週,這些投資者的內心恐怕比其用戶更加忐忑不安。

  GitLab 這事件發生以後,突顯了幾個議題,除了網站資料備份機制的漏洞,可能還有工程師的超時工作(導致判斷失常)以及工作紀律問題:sudo rm -rf 這樣最高權限不經 double check 就強制執行的指令,在使用時應該要有適當的 sop 或更好的權限防呆。這事件反映出,除軟硬體設備外,人員的良善管理更為重要。

  亡羊補牢為時不晚,GitLab 展現誠意以 YouTube 直播與 Twitter 將訊息公諸於網路,但是看來 GitLab 必須非常努力,才能挽回客戶與投資者對該公司的信心。對其他仰賴資訊科技的公司而言,相信這也是很好的借鏡。

這個網誌中的熱門文章

[娛樂]最終未能「蟻人鑽肛門」,保羅苦笑喊「沒機會」。

  保羅路德最近正在宣傳 Netflix 最新影集「麥斯 2.0」,最近上節目「First We Feasts Hot Ones」時再度提到自己主演的漫威英雄「蟻人」在「復仇者聯盟:終局之戰」當中,未能一如眾多網友開玩笑的傳聞一樣,最後鑽入薩諾斯的肛門內擊倒他,然則保羅路德之前宣傳電影時已經揶揄這個傳聞多遍,如今再提往事,依舊脾氣極好的再度自嘲。   保羅路德在節目上說:「我真的覺得失去了一個機會。」隨後他在說完這句話之後立刻大笑,表態他在開玩笑,不過外界覺得最為誇讚的是他脾氣極好,早從去年宣傳「復仇者聯盟:無限之戰」、「蟻人與黃蜂女」時就不厭其煩想梗回應,如今再度提及此事,相當逗趣。   其實看過「復仇者聯盟:終局之戰」結尾的影迷都知道,最終是「鋼鐵人」犧牲自己來救助全世界,讓所有漫威影迷都非常喜歡這個結局,也有網友開玩笑說,看來保羅路德可以釋懷了。

[動畫]《一拳超人》第三季動畫的埼玉英雄視覺圖、特報影片、製作團隊和聲優情報公開。

  以 ONE 與村田雄介所創作的超級英雄題材動作漫畫《一拳超人》為原作,第三季電視動畫公開了主角埼玉視覺圖、特報宣傳影片、製作團隊和聲優陣容等情報。   《一拳超人》電視動畫第一季由 MADHOUSE 製作,於 2015 年 10 月開播;第二季改由 J.C.STAFF 製作,於 2019 年 4 月開播。2022 年 8 月宣布動畫第三季製作消息。目前已知第三季店是動畫將與第二季同樣由 J.C.STAFF 擔綱製作。   由 ONE 擔任原作、村田雄介負責作畫的漫畫作品《一拳超人》,描述就職過程中找不到出路的主角「埼玉」,遭遇到要奪走一位少年生命的螃蟹異變人後,回憶起年少年時「想要成為英雄」的想法,於是奮起戰鬥並救下了少年。重拾對於成為英雄的志向後,埼玉苦練了三年、以掉光所有頭髮為代價,化身成毫無弱點的超級英雄,只需一拳便能輕鬆地擊敗怪獸。之後他與弟子傑諾斯一起加入了英雄協會,開始了與眾多英雄對抗各種怪物的生活。

[科技]前Google實習生告訴你:如何進入Google實習、面試流程是什麼、實習生每天都在幹嘛?

  去Google工作是很多人的夢想,而大學時期能去Google實習更是為自己鋪平了成功之路。到底什麼樣的人才能進入Google實習?在Google實習是什麼樣子?傳聞中的那些Google福利是真是假?   日前,Fast Company 發表了一篇前 Google 實習生的日記,日記中詳細敘述了自己在Google實習的體驗。日記中說,讓他感觸最大的一點就是:「當 Google 尋找未來的員工時,除了簡歷裡的成就,他們更看重求職者是一個怎樣的人。」   過去二十年,Google 對我們的日常生活產生了巨大的影響——Android系統成為地球上最常用的系統,與此同時,它還不斷地在探索新興的硬體技術,包括 VR 頭戴裝置和無人機。   當人們談及科技行業的工作機會時,Google 總是在他們夢想加入的公司的榜首——這一點兒也不奇怪。根據 Vault 年度排名,在過去兩年,Google 一直是實習生最夢寐以求的公司,沒有之一。可是,怎樣才能得到 Google 的實習機會呢?下面就是去年夏天在 Google 實習過的史丹佛研究生 Kerry Wang 的經驗談。   在Google的角色。   我今年20歲,剛從史丹佛大學畢業。2016 年的夏天,我來到 Google 的新總部——加州山景城,開始了我的實習。實習共10周,從6月持續到8月。   我是「建立領導與發展機會(BOLD)計劃」的實習生。具體來說,我在 Google 的線上合作業務團隊擔任產品銷售負責人,主要工作是與業務團隊和工程團隊合作,在AdSense 平台上開發及推出產品。我喜歡與跨職能團隊合作,更喜歡解決他們提出的獨特問題。這些都得益於我在人類生物學和電腦科學方面的背景。   如何發現 Google 的實習機會?   BOLD 實習的申請是在我大一的時候開始的。當時,我看到一張 BOLD Discovery 的傳單,介紹說這是 Google 專門為本科生而設的計畫,地點在紐約。我決定立即申請。得知申請被透過時我簡直超級激動。在這趟包吃包住的紐約旅行中,我們用了三天時間,在 Google 總部,詳細的去瞭解公司的文化和業務。我喜歡這趟旅程中學到的東西,所以當 BOLD Discover y的招聘人員在兩年後開始招收 BOLD 實習生時,我立即提交了我的簡歷和申請。 ...