TGViewer
Сохранёнки программиста Сохранёнки программиста @prog_stuff · 6.51K subscribers
Post #3080 104
Как общий кеш выдавал пустые ответы MySQL

У крупного клиента Hyperdrive примерно 0,001% запросов возвращали пустой результат, хотя строки должны были быть. Ошибка появлялась только с включённым кешем.

В расследовании Cloudflare причиной оказались разные представления ответа MySQL. Hyperdrive и пользовательский драйвер могли согласовать разные возможности протокола: в одном случае набор строк завершается пакетом OK, в другом нужен EOF.

Два компонента Hyperdrive использовали общий кеш, когда находились в одном дата-центре. Один сохранял исходные байты, другой — уже преобразованные для драйвера. При чтении чужой записи ответ мог завершиться раньше времени или зависнуть.

Исправление: сохранять в кеше единое представление, а преобразование выполнять при выдаче клиенту. Если несколько компонентов разделяют кеш, им нужен общий контракт формата значения, включая особенности протокола.

#кеширование #разборы
More from @prog_stuff
  1. Oct 17, 2026Почему уменьшение ответа API не всегда ускоряет запрос Чтобы построить историю звёзд репоз…
  2. Oct 16, 2026Как Spotify проверяет качество при ускорившейся разработке В августе число слитых изменени…
  3. Oct 16, 2026Почему быстрое сжатие TOAST может замедлить чтение TOAST в PostgreSQL умеет сжимать больши…
  4. Oct 15, 2026Почему реплики для чтения могут замедлять запись В текущем хранилище GitHub полные копии р…
  5. Oct 15, 2026Как Uber ограничивает лавину повторных запросов Сервис C вернул ошибку. B повторил запрос…
  6. Oct 14, 2026Как Cloudflare проверяет выводы ИИ-агентов В первом прототипе агент получал всё расследова…
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 →