標籤系統擴及全部72站,同日踩到刪除稽核缺口
喵宇宙網站群做的「標籤系統」——把同主題文章串成一頁分類頁,方便讀者瀏覽也利於搜尋引擎發現——今天是進度最密集的一天,C 站、D 站等十幾個站台陸續接上,卡了一整天的另一個站也解決,全站群已登記標籤功能的72個站台,標籤總覽頁全部回應正常(72/72)。標籤能不能被搜尋引擎收錄,取決於底下文章篇數夠不夠,不夠的先設不收錄,等補齊再開放。
這個規模的部署也讓我們親手造成一次退步。替C 站上線標籤系統後,原本10個分片的網址清單索引變成11個,其中一個分片被誤刪、另一個指向不存在的檔案,結果有8條文章網址一度不在任何清單裡,等於暫時從搜尋引擎的地圖上消失。我們當天用重新上傳缺漏分片的方式修好,8條網址全部歸位;根因是部署工具原本沒有把依日期命名的每日文章分片,算進要檢查的清單裡。查這個問題時我們也差點得出相反結論——第一次用字串比對統計網址數量,因為部分分片用了不同的格式寫法,把「三個分片全空、沒有任何頁面受影響」誤判出來,重新用不看格式差異的方式驗證後,才找到真正受影響的8條網址。
A 站同一天出了兩個問題。第一個是宣告了頁面卻沒真的上傳:稍早那次只上傳教練姓名頁的精準部署,清單裡帶了網址清單檔卻沒帶73個匹克球館頁的物件,結果網址清單宣告了74條匹克球網址,實際伺服器上只有1個物件在服務,其餘全部顯示找不到頁面;我們判斷正確的補法是把整組還沒上線的場館頁功能一起發布、不是零星補檔,留給後續處理。第二個問題更麻煩:我們幫A 站加的標籤重複防護,部署後兩小時內被另一次從主線重新建置的部署悄悄蓋掉,因為我們的改動當時還停留在還沒併入主線的分支上——只要設定沒進主線,任何人從主線重新建置都會把它沖掉。我們因此把當天累積的相關分支合併回主線,領先主線20個提交、零衝突,驗證全部通過後才推送,並從主線重新部署一次,這次改動才真正留住。
刪除稽核出現空窗
同一天晚上,我們也在整理磁碟空間,把一個月以上沒動過的舊專案打包備份到隨身硬碟和雲端後,清掉本機的原始檔。刪除動作一律要先過一道審核關卡並留下紀錄。這次為了求快,我們一次把36個目錄交給這道關卡處理,結果處理到第17個目錄時,因為裡面有一批唯讀資料夾(用來保護原始快照)刪不掉而中途拋出錯誤——前面16個目錄已經刪除,但這道關卡原本要等全部處理完才寫入紀錄,這16筆刪除完全沒有留下稽核紀錄。我們逐一核對隨身硬碟與雲端兩端的雜湊值,確認資料沒有損失,但稽核帳本出現空窗是制度上的漏洞,不是誤刪。經xmy同意後,當晚就把這道關卡改成:每刪一項就記一次帳,就算中途失敗,已完成的部分也會先落帳成「部分完成」再往外丟出錯誤,並把這條規則從只管遠端物件擴大到本機也適用,寫進制度文件,還跑過一輪刻意讓檢查失效再還原的驗證。剩下沒處理的目錄之後改成逐項個別送審,當天稍晚以59項通過檢查、58項成功處理收尾,失敗的1項(那個唯讀快照目錄)照原樣保留,交由xmy裁決。
這天其他出錯的地方
- 喵宇宙的Bing、Yahoo即時通知系統(讓搜尋引擎更快發現新頁面)這天查出:87個已放上通知金鑰的站台裡,因為共用流程預設只算計畫、不會真的發出通知,金鑰形同虛設;修掉預設值並重新查驗後,確認79個站的金鑰檔在線上且內容正確。
- E 站、D 站這類資料量大的網站,先前每次部署都會在只是試算會改動什麼的計畫階段,連沒人用得到的備份檔也一起下載而超時;修好後E 站從原本兩次撞滿上限的180.4分鐘、成功一次也要158.6分鐘,縮短到3.1分鐘。
- B 站的發布鎖出現一個過期時間算不出來的錯誤,導致本來3小時就該解除的鎖永久卡住,卡了26.6小時卻一直顯示才過0分鐘,這天查出並修好。
- B 站的sitemap(給搜尋引擎的網址清單)被查出單一檔案塞了74,452條網址,超過搜尋引擎規格上限的50,000條,可能被整份忽略不看,同一根因也讓建置流程卡住;這天拆成多個分片修好,全站群102站普查後只有這一站超標。
- B 站另外查出兩篇還沒通過審閱的草稿文章正掛在現網、可被搜尋引擎收錄且有站內連結,屬於治理缺口;已列入待裁決清單,這天沒有動這兩篇的內容或索引狀態。
- 其中一個站在8月27日搬遷新系統時漏了163篇文章的原始檔案(文章本身仍在線上,只是原始檔不全),這天補回;同時發現舊系統還留著已修正過的錯誤內容,避免被誤重新蓋回正確版本。
- A 站新增的教練查詢頁上線,一次做了135個依姓名查詢的頁面,其中兩位姓名相同但案件不同的人物,我們在頁面上加了提醒,說明官方資料沒有生日等資訊可以確認是否為同一人。
- 11個網站的社群分享縮圖原本連到會顯示找不到的網址,這天由三組並行的工作補齊。
- 整理閒置檔案時,一支判斷檔案是否超過30天沒動的檢查程式因日期格式錯誤而在失敗時悄悄放行,把842個專案全部誤判成30天沒動;若照結果執行清除會連進行中的專案一起刪掉,所幸真正刪除前就發現並改寫,沒有造成任何損失。
- 回頭核對內容也修正三個問題:其中一個站一篇颱風假薪資指南把唯一的強制規定寫成建議性用語,方向會讓勞工誤以為權益比實際更少,已改回法規原意;另一個站群點閱最高的停班停課頁補上原本沒有的跨站連結;還有一個站一篇學測簡章頁面的暫定字樣改為官方已公告的確定狀態。