VK Docs logo
Помощь
Обновлена 27 ноября 2025 г. в 14:21

Часто возникающие ошибки

В этом разделе приведены часто встречающиеся ошибки. Список может дополняться.

Остановка репликации на пассивный кластер

Репликация данных на пассивный кластер может остановиться по нескольким причинам, например:

  • на активном кластере были удалены .xlog файлы, записи из которых не успели реплицироваться на пассивный кластер;
  • один из кластеров был аварийно остановлен и запущен снова в пассивном режиме.

Чтобы восстановить репликацию, проделайте следующие шаги:

  1. Определите текущий активный кластер. Например, выполните HTTP GET-запрос на адрес /tcf/status любого экземпляра кластера.
  2. Определите HTTP-адрес Destination, который реплицирует данные на пассивный кластер. Например, если вы используете Ansible Tarantool Enterprise (ATE) для обслуживания TCF, список серверов можно найти в инвентаре tcf.yml.
  3. Выполните HTTP POST-запрос на данный адрес Destination: /api/v1/rebootstrap. Данный запрос перезапускает репликатор с повторной инициализацией (rebootstrap).
  4. Проверьте, что в логах Destination есть информация об успешной репликации данных. Также в логах не должно быть ошибки missing xlog.

Некорректная инициализация экземпляров кластера

Иногда при инициализации экземпляров кластера возникает ошибка:

some instances are bootstrapped and some are not, only rebootstrap is supported in this case

Такая ошибка возникает, если при запуске кластера некоторые экземпляры были инициализированы (bootstrapped), а другие нет. Обычно это происходит из-за прерванного запуска или ошибок в начальной настройке.

Чтобы восстановить инициализацию экземпляров кластера, проделайте следующие шаги:

  1. Выполните HTTP GET-запрос на адрес /tcf/status, чтобы увидеть состояние всех экземпляров.
  2. Для восстановления корректного состояния всех экземпляров выполните HTTP POST-запрос: /api/v1/rebootstrap.
  3. После повторной инициализации убедитесь в отсутствии ошибки и успешной синхронизации.

Некорректная инициализация worker на репликах кластера

Сообщения вида

tcf-worker: dml: too long waiting for user "dml-user" to be disabled (120.00 s elapsed)

при инициализации реплик кластера в течение длительного времени сигнализируют о некорректной обработке пользователя. В ролях TCF версии до 0.11.1 включительно (в частности в TDB 3.1.1 и предшествующих версиях) к этой ошибке приводит наличие у пользователя dml-user какого-либо разрешения на universe.

Чтобы восстановить инициализацию экземпляров кластера, проделайте одно из следующих действий:

  • обновите версию ролей TCF до 0.11.2 или новее;
  • переработайте права пользователя dml-user таким образом, чтобы они не включали разрешений на universe.

Соединение к кластеру продолжает работать после переключения статуса

Если при смене статуса кластера с active на passive старое соединение пользователя из списка dml_users продолжает функционировать, необходимо проверить настройки пользователя. В случае, если ему назначена роль super, роли TCF не имеют возможности полноценно отключить такого пользователя. Начиная с TCF 0.11.2, при работе приложения также отображается следующее сообщение:

tcf-worker: dml: dml user "dml-user" should not be granted with "super" role since super users cannot be disabled. Cluster status switch cannot properly process running super users connections. Please, rework user "dml-user" permissions. This may become an error in the future

Чтобы гарантировать корректную работу пользователей из списка dml_users, необходимо настроить их таким образом, чтобы они не имели роли super.