Возможно, никто ничего не заметил (кроме пользователя, который сообщил о проблеме), но вчера бот внезапно решил «продолбать» информацию о профилях пользователей 🫠
Визуально это проявлялось в том, что при проверке пользователя ботом, полностью перестала отображаться история смены имён и юзернеймов для всех аккаунтов - показывались только текущие данные.
Достоверно выяснить причину не удалось, но есть подозрение, что это как-то связано с обновлением ClickHouse недельной давности. А каждое его обновление умеет преподносить сюрпризы, особенно если не читать
Release notes и перескакивать сразу через десяток минорных версий.Хуже того - косяк не был замечен оперативно и успел пролезть в бэкапы. В итоге штатными средствами КХ удалось восстановить лишь около 40% данных, а оставшиеся ~400 млн записей отказывались читаться, выдавая ошибки
Too large size passed to allocator и Inconsistent sizes of values and offsets in SerializationSparse 😕Чтобы вытащить недостающие данные, пришлось навайбкодить скрипт, который напрямую прочитал файлы базы и вытащил максимум возможного. В результате удалось восстановить около 95% истории профилей, хотя без потерь всё же не обошлось.
Опции антиспама, завязанные на проверку истории профилей пользователей, а также отображение самой истории в профилях теперь снова работают корректно.
Резюмируя: делая бэкапы, делайте их с умом - чтобы потом не пришлось красноглазить по ночам 🤓 И про мониторинг тоже не стоит забывать - пользователи не всегда пишут о проблемах 🗿
