В конце прошлого года с доступностью нашего сервиса всё было довольно плохо. Это хорошо видно на странице статуса, и нестабильность продолжилась уже в новом году. Причиной многих сбоев оказался один-единственный баг глубоко внутри SQLite. На его поиски ушли месяцы напряжённого расследования.
Сейчас уже лето прошло, и мы уверены, что нашли этот баг, разобрались, как он работает, а главное – исправили его.
Мы понимаем, что пользователи ждут от Tailscale надёжной работы, и несколько месяцев мы этим ожиданиям не соответствовали. Мы написали эту статью, чтобы рассказать, что пошло не так, как мы действовали и как в итоге помогли обнаружить давний баг в самом сердце SQLite.
TL;DR: