TGViewer
Data Science. SQL hub Data Science. SQL hub @sqlhub · 36K subscribers
Post #2444 3.08K
🔥 Tailscale полгода ловила «невозможную» порчу SQLite. В итоге нашли баг, который жил в базе минимум 16 лет

В production у Tailscale начали случайно повреждаться SQLite-базы. Никакой стабильной причины: разные шарды, разная нагрузка, иногда между инцидентами проходили недели. За шесть месяцев компания поймала 19 случаев corruption.

После месяцев форензики вместе с core-разработчиками SQLite нашли причину: редкий race condition между записью и WAL checkpoint. При очень точном совпадении по времени SQLite мог решить, что страницы уже перенесены из WAL в основной файл, хотя этого не происходило. Часть данных исчезала, а база становилась повреждённой.

Баг получил название WAL-Reset. По оценке разработчиков SQLite, он существовал минимум 16 лет и был настолько редким, что для тестов пришлось специально писать код, который провоцирует нужную гонку. Tailscale ловила его чаще из-за агрессивного ручного checkpointing.

А дальше стало ещё веселее: версия SQLite 3.52.0 с исправлением обнаружила вторую проблему со stale expression indexes и начала выдавать ложные сообщения о corruption. Релиз отозвали, а фикс WAL-Reset перевыпустили в SQLite 3.51.3.

Редкий пример расследования, где компания полезла искать баг в одной из самых проверенных баз данных мира и действительно нашла его.

🔗 tailscale.com/blog/sqlite-wal-reset-bug

#SQLite #Database #Linux #Backend #Engineering
  • ❤ 9
  • 🔥 4
  • 🥰 1
More from @sqlhub
  1. Sep 21, 2026🧩 Сложная SQL-задача: симуляция DNS-кеша Есть таблица запросов: CREATE TABLE dns_requests…
  2. Sep 18, 2026🔥 PostgreSQL 19 задерживается релиз может сдвинуться на несколько недель или даже месяцев…
  3. Sep 17, 2026Участвуй во всероссийском ИТ-чемпионате МТС True Tech Champ 2026 c призовой фондом 10 250…
  4. Sep 17, 2026📌 NY Post: Anthropic - это культ Профессор Вашингтонского университета Педро Домингос в и…
  5. Sep 16, 2026Post #2492
  6. Sep 16, 2026Стать специалистом по Data Science всего за 10 недель — это реально! Если давно смотрите в…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →