Базовые операции с пайплайном 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 (или узел уже удалён), пайплайн можно удалять.