Apache Airflow 3.1.8: что нового
Обзор релиза Apache Airflow 3.1.8 — что важного, что сломали, стоит ли обновляться
Вышла очередная версия Airflow — 3.1.8. Это патч-релиз, поэтому ждать от него революции не стоит. Но под капотом подкрутили несколько важных гаек, которые могут повлиять на ваши деплои, и починили то, что давно раздражало.
Что важного
Самое существенное изменение — переработка прав доступа для операций бэкфилла. Теперь система проверяет не отдельное разрешение is_authorized_backfill, а общее право DagAccessEntity.Run. Если у пользователя есть право запускать DAG, то и бэкфилл он сможет делать. Это логичное упрощение модели безопасности, но вам стоит проверить свои роли и политики: пользователи, у которых было кастомное право только на бэкфилл, теперь его потеряют.
Второй момент — Elasticsearch наконец-то стал полноценным гражданином в системе remote logging. Работа в связке с apache-airflow-providers-elasticsearch>=6.5.0 теперь объявлена стабильной. Если вы используете эту связку, можно вздохнуть с облегчением и обновиться.
Из горы исправлений багов стоит выцепить пару. Починили миграцию для SQLite, где в ревизии 509b94a1042d могла возникнуть проблема с внешними ключами. Поправили неприятную ошибку, из-за которой в логах UI пропадали логи задач в состояниях UP_FOR_RETRY и UP_FOR_RESCHEDULE. Также исправили рендеринг SQL в представлении Rendered Templates и потерю метрики dag_processing.total_parse_time.
Что сломали
Явных breaking changes, ломающих API, нет. Однако изменение модели прав для бэкфилла — это поведенческий сдвиг. Без обновления security policies часть пользователей может неожиданно потерять возможность делать backfill. Это не сломает деплой, но может заблокировать работу людей.
Обновляться или подождать
Если у вас не стоит острой необходимости в одном из конкретных фиксов (например, проблемы с SQLite или Elasticsearch logging), можно не спешить. Это патч-релиз в рамках минорной ветки 3.1.x, поэтому риски минимальны, но и без фанатизма. Если обновляетесь — перед этим быстренько проверьте настройки прав для backfill, чтобы потом не было сюрпризов.