Для установки YTsaurus Server 25.4.0 обновите k8s‑operator до версии 0.27.0 или выше.

Вышел YTsaurus 25.4.0
Выпустили обновление YTsaurus 25.4.0. Среди ключевых обновлений: сквозная поддержка Row-Level Security (RLS), bulk-insert под пользовательскими транзакциями и распределённая запись файлов.
Основные изменения
В этот релиз входят:
-
Row-Level Security (RLS) — сквозная поддержка. В ACE теперь можно указать выражение, ограничивающее доступ к отдельным строкам;
full_readрасширен построчно (покрываетcopy/concatenate/remote_copy). Реализовано в master, proxy read_table и controller agent в операциях; CHYT 2.18+ уже поддерживает RLS, для SPYT нужна версия 2.9.0, для YQL/QT — 0.4.1. -
Bulk-insert под пользовательской транзакцией. Теперь для общего использования. Функция появилась как экспериментальная в 25.3 (необходимое условие для
REPLACE INTO //dynamic/tableв YQL) и в 25.4 переведена в GA — её можно безопасно использовать в продакшене. -
Authorized node expiration. Master запоминает, кто выставил
expiration_time/expiration_timeout, и при включённомenable_authorized_expirationвыполняет удаление от имени этого пользователя. Это предотвращает случайные кросс-аккаунтные удаления общих поддеревьев и даёт аудируемый жизненный цикл для автоматически истекающих нод. -
Распределённый протокол записи файлов. Файлы теперь можно писать параллельно из многих клиентских процессов — так же, как уже можно было писать таблицы. Убирается узкое место единственного writer’а для крупных артефактов и появляется возможность fan-out-загрузок из операций и пайплайнов.
-
Команда
transfer_bundle_resources. Атомарно переносит квоты ресурсов (число таблетов, tablet static memory) между двумя tablet cell bundles в одной мутации — безопасный rebalancing бандлов для автоматизации и bundle controller. -
Heavy hitters для lookup-запросов. Динамические таблицы отдают raw и data-weighted heavy hitters по lookup’ам — операторам проще находить ключи, из‑за которых растёт давление на кеш, появляются горячие таблеты и перекосы чтения.
-
API
check_operation_permission. Позволяет пользователям и оркестраторам спросить у scheduler’а, есть ли у данного пользователя данное право на операцию — по аналогии сcheck_permissionдля объектов Cypress. -
API
list-job-tracesи переработанныйget_job_trace.list-job-tracesперечисляет все GPU-трассировки джоба;get_job_traceотдаёт трассировку потоком в формате, удобном для Perfetto, — большие трейсы открываются в Perfetto без конвертации. -
Фильтрация чанков через
input_queryв атрибутах пути. Фильтрует чанки по запросу прямо в path attributes — полезно для оптимизаций чтения. -
Ограничения по compressed-data-size для sorted-операций. Добавлены лимиты primary compressed-data-size и опция sizing’а джобов
consider_only_primary_size, которая при нарезке джобов учитывает только primary size. -
Обработка CPU overload на data node. Обработка CPU overload встроена в data node; добавлена динамическая подстройка лимитов памяти pending-disk-read/pending-disk-write и максимального числа сессий.
-
YTQL syntax v3 — расширение выразительности. Сняты несколько давних ограничений:
- выражения разрешены в
INиBETWEEN; - целочисленный индекс в
GROUP BY/GROUP BY KEY(GROUP BY 1, 2); - новые строковые функции
make_ngramsиsplit; - чтение с tablet followers в
SELECT; - fetch join выполняется на proxy;
- array join со списками значений composite и any.
- выражения разрешены в
Обратно несовместимые изменения
Обратите внимание на следующие изменения:
-
List-ноды полностью удалены. Загрузка снапшота, в котором есть list-ноды, приведёт к падению master-server. Чтобы перед обновлением убедиться, что list-нод нет, можно сделать следующее:
-
если в динамическом конфиге master’а включена опция
alert_on_list_node_load, то при загрузке из снапшота в 25.2 должен был появиться алерт, а в 25.3 — crash. Если алертов и падений не было, обновление, скорее всего, безопасно; -
иначе рекомендуется прогнать dry-run с
--validate-snapshotбинарником master-server версии 25.4 и убедиться, что снапшот загружается, до самого обновления.
-
-
Очистка конфига pool tree. Удалены
enable_scheduling_tags(отключаемая им фича больше не актуальна) иmax_share_ratioиз конфига пула (использовался для ограничения guarantees до vector-HDRF). -
Депрекация
list_queue_consumer_registrations. В конфиге queue consumer registration manager появилась новая опцияdisallow_list_all_registrations; после фазы миграции она станет значением по умолчанию в следующих релизах.
Полное описание и примеры конфигурации — в release notes.