关于GitHub Actions 8月26日事件的简要思考
<p>上周,.正如GitHub公开报道的典型内容,事件发生后不久就发布了,但细节也不多。不过我们来看看能从中获得什么信息。</p><h2>数据库饱和</h2><p>我首先注意到的是,这次事件再次是与系统饱和相关的故障模式。具体来说,是因为写入流量导致数据库过饱和。</p><blockquote>这种影响是由服务处理触发器主要用于Actions工作流的数据库写入次数饱和引起的。</blockquote><p>正如我在与数据库相关的饱和问题尤其严重,因为它们很难恢复。</p><h2>有多位贡献者,但细节不多</h2><p>报道提到了七个导致事件的因素。</p><ul> <li>峰值日负载不断增加(这增加了对数据库的写入量)</li> <li>GitHub事件处理基础设施的上游问题(?),进一步增加了负载</li> <li>从主节点切换到副本并未实现完全恢复(?)</li> <li>现有节气门设置得高出约10%,因此提供不足的过载保护</li> <li>有些作业在恢复后仍停留在队列/等待状态(?)</li> <li>另一个问题让一些工作在恢复后处于等待状态</li> <li>有个bug导致有些运行显示为队列,尽管它们已经失败了</li> </ul><p>我用(?)注释了贡献者,觉得报告里几乎没有提供任何细节。提到上游问题引用但另一个事件页面上完全没有任何细节。<br><br>页面上写着“一旦有详细的根本原因分析将立即发布”,所以也许我们会在接下来几天内获得更多关于这个问题的细节。</p><p>不过我最想知道的是数据库故障转移到底发生了什么。我们在介绍中只看到了这一句话:</p><blockquote> <em>初选失败,但系统未能完全恢复。</em> </blockquote><p>这里发生了什么?…</p>




