Tailscale atribuyó a un único fallo de SQLite una serie de interrupciones que comenzaron a finales de 2024 y afectaron a su servicio durante varios meses. La compañía registró 19 casos de corrupción de bases de datos en seis meses, aunque la mayoría de sus fragmentos de infraestructura y redes tailnet no se vieron afectados. Cada base de datos almacena metadatos de configuración, pero no claves privadas de cifrado ni tráfico de red.
El fallo no seguía un patrón reproducible y resistió las primeras investigaciones. Tailscale revisó cambios recientes, el código de interacción con SQLite y posibles factores comunes, sin identificar la causa. La empresa añadió telemetría forense en su entorno de producción, automatizó las comprobaciones de integridad, mejoró los procedimientos de recuperación y redujo el tiempo de inactividad. Los dispositivos que ya estaban conectados permanecían comunicados entre sí, pero no podían conocer cambios en la red durante las reparaciones.
Con la colaboración de los desarrolladores de SQLite, Tailscale fue descartando hipótesis sobre bloqueos POSIX, gestión de memoria y uso multihilo. La investigación permitió identificar un antiguo defecto relacionado con el restablecimiento del registro WAL de SQLite y aplicar una corrección. La compañía tambiénTankers: implementó medidas para detectar corrupciones, detener los procesos afectados y restaurar las bases de datos con mayor rapidez.
