Tailscale führt Datenbankkorruption auf 16 Jahre alten SQLite-WAL-Reset-Bug zurück
Tailscale Traces Database Corruption to 16y/o SQLite WAL-Reset Bug
Tailscale kämpfte monatelang mit wiederkehrender Datenbankkorruption in seiner Control-Plane-Architektur, die zu Ausfällen führte. Nach intensiver Forensik entdeckte das Team einen 16 Jahre alten Bug in SQLites Write-Ahead-Logging (WAL), der bei Checkpoints Seiten aus dem WAL fälschlich als kopiert meldete. Der Bug wurde mit Hilfe der SQLite-Entwickler identifiziert und behoben. Der Artikel erklärt die Architektur, die Diagnose und die Lösung.
Ein Schreibvorgang war spurlos verschwunden, ohne einen Fehler zu melden. Das sollte unmöglich sein!