Skip to content

fix(compose): add restart policy to schema-registry so it recovers after reboot#27

Merged
k0te1ch merged 1 commit into
mainfrom
fix/schema-registry-restart-policy
Jun 4, 2026
Merged

fix(compose): add restart policy to schema-registry so it recovers after reboot#27
k0te1ch merged 1 commit into
mainfrom
fix/schema-registry-restart-policy

Conversation

@k0te1ch

@k0te1ch k0te1ch commented Jun 4, 2026

Copy link
Copy Markdown
Owner

Корень проблемы (вскрыт readiness-гейтами из #25)

На проде после ребута schema-registry оказывался мёртвым, а бот — «полуживым» (Telegram отвечает, публикации нет).

Логи SR показали: контейнер стартует раньше Kafka (при ребуте depends_on не соблюдается), не может достучаться до брокера (Connection to node 1 (kafka:9092) could not be established), ретраит, затем сам завершает работу (Shutting down schema registry). После этого Kafka становится healthy, но SR уже выключен.

Причина невозврата: у schema-registry в обоих compose-файлах отсутствовала restart-политика (единственный долгоживущий сервис без неё). Docker его не перезапускал → SR оставался мёртвым до ручного вмешательства.

Фикс

restart: always для schema-registry в docker-compose.yml и docker-compose.tun2socks.yml. Теперь Docker перезапускает SR, пока Kafka не станет доступна, после чего он стабильно поднимается.

Вместе с readiness-гейтами из #25 (бот/publisher'ы ждут SR) и systemd-оркестрацией стек полностью самовосстанавливается после ребута.

Проверка

  • docker compose config валиден (оба файла парсятся, 19/20 сервисов, SR restart=always).
  • На проде: docker compose up -d schema-registry поднимает SR, зависшие загрузки проходят.

@k0te1ch k0te1ch merged commit 71d2b69 into main Jun 4, 2026
5 checks passed
@k0te1ch k0te1ch deleted the fix/schema-registry-restart-policy branch June 4, 2026 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant