Сегодня 21 сентября 2026
18+
MWC 2018 2018 Computex IFA 2018
реклама
Новости Software

GIF с танцем Рейчел из «Друзей» разросся до сотен гигабайт и сломал бэкапы Discourse

Discourse — широко используемая платформа для обсуждений, которая в настоящее время поддерживает более 22 000 онлайн-сообществ. Резервное копирование сайта было нарушено из-за GIF-файла размером 1,6 Мбайт, который был скопирован пользователями 246 173 раза, что превысило лимит файловой системы Linux ext4 на жёсткие ссылки. В результате анимация танца радости Рейчел из сериала «Друзья» в исполнении Дженнифер Энистон (Jennifer Aniston) заняла в бэкапе 377 Гбайт.

 Источник изображений: warnerbros.com

Источник изображений: warnerbros.com

Платформа Discourse позволяет пользователям вставлять эмодзи и GIF-изображения в свои обсуждения. «Когда файл перемещается между контекстами безопасности (например, из личного сообщения в публикацию), система создаёт новую копию со случайным SHA1, — пояснил технический блогер Discourse Джейк Голдсборо (Jake Goldsborough). — Исходное содержимое идентично, но Discourse рассматривает его как новый файл».

Таким образом, популярное изображение или GIF-реакция распространяется по постам, репостам и личным сообщениям, и каждый контекст создаёт ещё одну копию файла. Файл, создавший 377 Гбайт избыточного размера бэкапа — это Рейчел из сериала «Друзья», танцующая свой танец радости. Эта GIF-анимация, по словам Discourse, «постоянно использовалась в постах, личных сообщениях, повсюду».

Первая попытка Discourse решить проблему перегрузки системы дубликатами заключалась в отслеживании оригинального контента по его хешу. Во время резервного копирования загрузки группировались по хешу, и загружался только первый файл в каждой группе. Для всех дубликатов создавались жёсткие ссылки.

Это казалось элегантным решением, пока компания не столкнулась с ограничением файловой системы ext4 на примерно 65 000 жёстких ссылок на один индексный дескриптор (inode). В результате, по словам Discourse, «вместо одной загрузки для всех 246 173 дубликатов мы получили одну загрузку плюс 181 000 резервных загрузок после достижения лимита».

Discourse всё же удалось найти решение. Оно начинается так же, как и старое, с создания жёстких ссылок. Но когда файловая система выдаёт сообщение об ошибке EMLINK («превышение лимита жёстких ссылок»), следующая копия файла становится «основной», пока снова не будет достигнут лимит. Эта новая мера, по словам Discourse, «работает на любой файловой системе, никакой настройки не требуется».

«Теперь мы знаем, что Дженнифер Энистон может проводить стресс-тестирование инфраструктуры», — с иронией прокомментировала ситуацию Discourse в своём блоге.

Было интересно? Скажите об этом Google, чтобы чаще получать ссылки на наши новости про науку и космос

Источник:

Если вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме

window-new
Soft
Hard
Тренды 🔥
«Заберите мои деньги, прошу»: геймплейный трейлер дополнения Lazarus заинтриговал фанатов Cronos: The New Dawn 52 мин.
«Криптозима» закончилась? Биткоин достиг максимума с января, перешагнув $85 000 2 ч.
Анонсирован уютный симулятор уборки Dust till Dawn с элементами хоррора и музыкой от композитора Silent Hill 3 ч.
Valve открыла исходный код Lepton — инструмента для переноса игр с Android на Steam Frame 3 ч.
Пираты удалили Denuvo из Assassin's Creed Mirage — игра стала быстрее загружаться и лучше работать 7 ч.
Хуанг набрал вес в Белом доме — глава Nvidia фактически стал главным советником Трампа по ИИ 8 ч.
Неогранённый алмаз: критики вынесли вердикт Silent Hill: Townfall 8 ч.
Google хочет поменьше пускать людей в настоящий интернет — в Discover тестируются ИИ-сводки вместо переходов на сайты 9 ч.
«Не хотел повторения истории с P.T.»: Кодзима рассказал, как спасал Physint после разрыва с PlayStation 9 ч.
Konami позволит начать прохождение метроидвании Castlevania: Belmont’s Curse на две недели раньше — анонсирована бесплатная демоверсия 10 ч.
MediaTek представила ноутбучный процессор Dimensity CX C10 Max для Googlebook — он поддерживает ИИ и трассировку лучей 50 мин.
Стартовали предзаказы на Googlebook — Android-ноутбуки на чипах Intel и Qualcomm оценены от $899 52 мин.
Vivo представила фотофлагманы X500 Pro и X500 Pro Max — первые на 2-нм чипе Dimensity 9600 Pro 2 ч.
Apple начала принимать от владельцев iPhone заявки на компенсации за задержку Siri с ИИ 3 ч.
Британский необлачный провайдер Nscale подал заявку на IPO в США с оценкой рыночной стоимости в $35 млрд 3 ч.
iFixit разобрали iPhone 18 Pro и Pro Max — новая камера дороже в ремонте, а батарея может потянуть за собой дисплей 3 ч.
Apple программно занизила ёмкость батареи iPhone 18 Pro Max — активация всё исправляет 3 ч.
Nothing выделит бюджетный бренд CMF в самостоятельную компанию со штаб-квартирой в Индии 4 ч.
CoreWeave стала клиентом оператора криптомайнинговых ЦОД Blockfusion в Ниагара-Фолс 4 ч.
LG представила первый в мире 24,5-дюймовый OLED-дисплей с частотой обновления 720 Гц 6 ч.