Базовые операции с пайплайном YTsaurus Flow

После первичного деплоя пайплайном управляют через CLI. Основные операции — запуск, остановка и пауза:

  • start-pipeline — запустить пайплайн;
  • stop-pipeline — остановить пайплайн через режим draining (полный сброс промежуточных буферов);
  • pause-pipeline — остановить пайплайн немедленно.

Подробнее про состояния пайплайна — в глоссарии.

Эти команды управляют состоянием пайплайна, а не самой Vanilla-операцией: остановка операции и её пересоздание при выкатке нового релиза описаны в разделе Обновления и релизы.

Полное удаление пайплайна

Чтобы полностью удалить пайплайн, отмените его vanilla-операцию и удалите узел пайплайна вместе с содержимым. Рекурсивное удаление затрагивает внутренние таблицы Flow под этим узлом; пользовательские таблицы External State вне узла остаются и требуют отдельного решения об удалении. Возьмите <operation-id> со страницы Vanilla-операции пайплайна и проверьте, что ID и путь указывают на нужное развёртывание:

yt --proxy <cluster> abort-op <operation-id>
yt --proxy <cluster> remove -r //path/to/pipeline

Если выполнить remove сразу после отмены операции, некоторое время команда будет завершаться ошибкой вида Cannot take "exclusive" lock ... leader_controller_lock. Это ожидаемо: контроллер-лидер удерживает лок на узле leader_controller_lock под мастер-транзакцией, при отмене операции освободить его не успевает, и лок исчезает только после того, как мастер прекратит переставшую пинговаться транзакцию.

Дождаться освобождения можно, повторяя yt --proxy <cluster> remove -r до успеха, либо проверяя лок явно:

yt --proxy <cluster> get //path/to/pipeline/leader_controller_lock/@lock_count

Когда команда вернёт 0 (или узел уже удалён), пайплайн можно удалять.

См. также

Следующая