知识卡片

低风险变更评估可能漏掉稀有参数组合

普通读书笔记卡 · 1599

内容

一次全球性崩溃的根源,是一个配置变更在灰度试验(Canary)阶段恰好没用到某个”非常特别、很少用到的关键词”,因此被判为低风险,只走了简化流程;推送到全球后才第一次撞上这个被灰度漏掉的稀有关键词组合,触发大规模崩溃循环。事后团队把”不论风险看起来多小都要经过完整测试”提到了更高优先级。发散:风险评估依赖测试阶段实际触碰到的输入组合,灰度覆盖不到的稀有分支,风险恰恰被系统性低估。

参考来源

- 位置:《SRE:Google运维解密》第13章《紧急事件响应》(源文件:_epub-src/OEBPS/Text/0009_0004.xhtml) - 结论依据:"我们从中学到的"部分说明,之前的部署试验没有触发该Bug是因为没用到某个"非常特别、很少用到的关键词",导致变更被判定为不危险、只走了简单的部署试验流程,全球部署后才第一次遇到该组合引发灾难,事故后团队将提高部署测试和自动化优先级。 - 原始内容:在之前的部署中,导致问题的这项新功能经历了一个完整的部署试验(Canary)周期却没有触发该Bug,因为在那次测试中配置文件中没有用到一个非常特别、很少用到的关键词。……这次变更仅仅经历了一个简单的部署试验过程。当这次变更在全球部署的时候,这个没有经过测试的关键词/新功能组合导致了灾难的发生。