- Sources: primary, release log, discussion
- Summary: Tailscale describes tracing recurring database corruption to a data race in SQLite's write-ahead log reset during checkpointing, where a committed write becomes invisible to later transactions and no error is raised. The SQLite release log for 3.51.3, released 2026-03-13, was fetched independently for this digest and records a single functional change, the WAL-reset corruption fix, so the fixed version floor is confirmed from sqlite.org rather than only from Tailscale. Three claims stay Tailscale's own: the count of 19 corruption incidents over six months, the withdrawal of 3.52.0 over a float-rounding change that produced false
integrity_check failures on stale expression indexes, and a self-healing index feature attributed to 3.53.0. The at-least-16-year age is the SQLite developers' estimate as Tailscale reports it, not a measurement. - Why it matters: Tailscale states the SQLite developers explained the disproportionate impact by its manual and aggressive checkpointing, so any deployment that drives
PRAGMA wal_checkpoint from application code rather than leaving SQLite to decide is in the same position, and 3.51.3 is the version to check against.
send feedback on this story