Tailscale 追踪到 SQLite 16 年前的 Bug

Tailscale Traces Database Corruption to 16y/o SQLite WAL-Reset Bug

Tailscale 追踪到 SQLite 16 年前的 Bug

去年,Tailscale 遭遇了持续数月的服务不稳定,根源竟深藏于 SQLite 数据库中。在经历了 19 次数据库损坏事件后,我们投入大量精力进行排查,最终锁定了一个存在 16 年的 SQLite WAL-Reset 漏洞。虽然我们的架构设计遵循了 SQLite 的最佳实践,但这个深埋的 Bug 导致数据在特定场景下凭空消失。通过与 SQLite 核心开发团队的合作,我们不仅修复了问题,还协助定位了该底层缺陷。这次经历让我们深刻意识到,即使是看似“无聊”的成熟技术,在极端规模下也可能暴露出意想不到的隐患。

在两次事件中,我们的事务日志无法顺利重放,深入检查后发现,由某个事务写入并提交的数据,在后续事务中竟然不可见,仿佛凭空消失且未触发任何错误。

同日更多故事

2026-08-12