Releases
Trino

Trino 478: что нового

Обзор релиза Trino 478 — что важного, что сломали, стоит ли обновляться

Вышел Trino 478. Очередной релиз, где инженеры постарались: немного ускорили жизнь, немного её усложнили, но в целом — рабочий вариант.

Что важного

Главное — это долгожданное исправление для запросов с ORDER BY ... LIMIT. Раньше при такой конструкции могла сортироваться вся таблица, а потом отбрасываться почти всё. Теперь оптимизатор стал умнее и в некоторых случаях (особенно с вложенными подзапросами) может «протащить» лимит на более раннюю стадию, что должно заметно сократить время и ресурсы. Не панацея, но приятно.

Для любителей Kafka добавили поддержку пропуска сообщений с ошибками десериализации через конфиг kafka.skip-broken-messages. Полезно для замусоренных топиков, где нельзя терять всю партию из-за одного битого сообщения.

В движке Iceberg появилась экспериментальная поддержка VACUUM для процедуры system.expire_snapshots. Пока через флаг, но это шаг к встроенному управлению жизненным циклом данных без внешних костылей.

Из мелочей: функция try_multiply — чтобы не падать при переполнении, а тихо возвращать NULL. И фикс для потенциальной deadlock-ситуации при конкурентном выполнении DROP TABLE и CREATE TABLE в Hive-каталогах, что могло подвешивать ваши пайплайны.

Что сломали

Удалили устаревшие конфигурационные свойства, которые давно помечены на вынос: query.max-memory-per-node, query.max-total-memory-per-node и query.max-execution-time. Вместо них уже несколько версий используются query.max-memory, query.max-total-memory и query.max-run-time. Если вы всё ещё используете старые ключи в конфигах — деплой сломается на старте. Проверьте свои конфиги перед обновлением.

Обновляться или подождать

Если вы не используете выпиленные конфиги и вам важны фиксы для Kafka или оптимизация ORDER BY — можно обновляться. Для остальных — релиз без горения, можно дождаться следующего минорного.