SHiNE-server/Dev_Docs/Pending_Features/2026-06-26_1745_proverka_avariynykh_ostanovok.md

1.6 KiB

Проверка аварийных остановок на разных этапах

Кратко

Нужно отдельно проверить, как сервер восстанавливается после внезапной остановки:

  1. во время обычного AddBlock / tmp_bch-pipeline;
  2. во время full resync цепочки;
  3. во время startup recovery, если остановка произошла на предыдущем запуске;
  4. при обычном апгрейде сервиса без явного crash-сценария.

Что проверять

  1. Остановка сервиса до commit БД.
  2. Остановка сервиса после commit, но до замены main.bch.
  3. Остановка сервиса во время BlockchainResyncCleanupDAO.
  4. Остановка сервиса во время повторной загрузки цепочки по GetBlockchainBlock.
  5. Поведение при обычном systemctl restart, когда сервер сам должен добить recovery.

Ожидаемый результат

  • после старта сервер либо дочищает временные артефакты, либо завершает незаконченный resync;
  • не остаётся битых .tmp_bch, .write_check, .write_pending, .resync_pending;
  • БД и файлы цепочки остаются согласованными;
  • обычная работа сервера не стартует поверх незавершённого recovery.

Статус

pending