Ошибка приводила к потере пакетов и снижению сетевой производительности.
Специалисты компании Google выпустили исправление, устраняющее ошибку 10-летней давности в TCP-стеке ядра Linux. Об этом сообщается в блоге BitsUp. Ошибка значительно снижала эффективность передачи данных.
Неисправность заключалась в некорректной реализации алгоритма контроля перегрузки Cubic, который используется во многих дистрибутивах ОС Linux в качестве средства по умолчанию. Как выяснилось, Cubic неверно обрабатывал состояния приостановки передачи данных приложениями, из-за чего информация о нагрузке сети обновлялась и обрабатывалась некорректным образом.
Результатом ошибки являлось то, что приложения, работающие в режиме отправки большого количества данных с последующим переходов в период покоя, получали неверную информацию о загруженности сети. В результате ошибки при переходе в режим отправки данных программы начинали передавать информацию на слишком высокой скорости, что приводило к потере пакетов, перегрузке сети и потере пропускной способности.
Исправление ошибки было добавлено в репозиторий исходного кода ядра Linux.