---
metadata:
  - name: generator
    content: Diplodoc Platform v5.64.2
alternate:
  - https://ytsaurus.tech/docs/en/flow/faq.md
  - https://ytsaurus.tech/docs/ru/flow/faq.md
  - href: https://ytsaurus.tech/docs/ru/flow/faq.md
    type: text/markdown
    title: Markdown version
  - href: https://ytsaurus.tech/docs/ru/llms.txt?revision=827ae6f9747f49afc4a4326edf00597a1e92428f
    rel: describedby
---
> **Documentation Index:** Fetch the complete configuration index at https://ytsaurus.tech/docs/ru/llms.txt?revision=827ae6f9747f49afc4a4326edf00597a1e92428f

<!-- source: ru/_includes/flow/faq.md -->
# FAQ по YTsaurus Flow

#### **Q: Можно ли обновить бинарные файлы пайплайна без остановки/паузы?** {#deploy-without-drain}

**A:** Короткий ответ &mdash; нет. Есть очень много нюансов совместимости старого и нового бинарника на уровне пользовательского кода, команда Flow не готова брать на себя ответственность, говоря, что так можно делать.

При выкатке нового бинарника с остановкой, но без [дрейна](https://ytsaurus.tech/docs/ru/flow/concepts/glossary.md#start-stop-pause-pipeline):
* Могут остаться промежуточные сообщения на YTsaurus от старого бинарника, новый бинарник может быть к этому не готов (например, если поменялся какой-то инвариант).
* Могут случиться дубликаты и/или потери событий, если меняется логика генерации выходных сообщений в [Swift](https://ytsaurus.tech/docs/ru/flow/concepts/glossary.md#swift) компьютейшенах.
* В дифф между двумя бинарниками могут попасть коммиты из самого Flow. Эти изменения могут быть небезопасными для выкатки без дрейна.

Когда всё-таки можно обновлять бинарные файлы без дрейна:
* В дев-окружении, которое вы не боитесь полностью сломать. И в случае поломки которого (или обнаружения странностей) просто его перенальёте с нуля.

Команда Flow оставляет за собой право **не** помогать решать любые проблемы с пайплайном, в истории которого были такие небезопасные операции.

#### **Q: Мой пайплайн в состоянии Completed, как так получилось?** {#unexpectedly-completed-pipeline}

**A:** Самая частая ситуация &mdash; запуск нового пайплайна до установки спеки. Более редкая ситуация &mdash; пайплайн может быть запущен со всеми финитными (`finite=true` в спеке) сорсами как в тестах и сорсы были обработаны.

В обоих случаях вывести пайплайн из Completed состояния возможно только через его полное пересоздание. То есть нужно остановить контроллеры и воркеры, удалить объект пайплайна на YTsaurus и заново всё создать и запустить.

#### **Q: Как запустить Flow в IPv4-only окружении?** {#ipv4-support}

**A:** По умолчанию Flow использует IPv6 для межнодовой коммуникации (Controller ↔ Worker, Worker ↔ Worker). Для работы в IPv4-only окружении необходимо настроить секцию `address_resolver`:

```yson
{
    cluster_url = "your-cluster";
    path = "//home/your-pipeline";

    address_resolver = {
        enable_ipv4 = %true;
        enable_ipv6 = %false;
    };

    # ... остальные параметры конфига
}
```

{% note warning %}

Должен быть включён ровно один протокол: либо `enable_ipv4 = %true`, либо `enable_ipv6 = %true`. Включение обоих или выключение обоих приведёт к ошибке при старте ноды.

{% endnote %}

##### Важные особенности {#ipv4-details}

Настройка `address_resolver` является глобальным синглтоном и влияет на **все** DNS-резолвы в процессе, включая:

- Резолв адресов других нод Flow (Controller, Worker).
- Резолв адресов RPC-прокси YTsaurus.
- Любые другие DNS-запросы внутри процесса.

Это означает, что при `enable_ipv6 = %false` DNS-резолвер будет запрашивать только A-записи (IPv4). Убедитесь, что все хосты, с которыми взаимодействует пайплайн (включая RPC-прокси YTsaurus), имеют A-записи в DNS.
<!-- endsource: ru/_includes/flow/faq.md -->
