1.6 KiB
1.6 KiB
Проверка аварийных остановок на разных этапах
Кратко
Нужно отдельно проверить, как сервер восстанавливается после внезапной остановки:
- во время обычного
AddBlock/tmp_bch-pipeline; - во время
full resyncцепочки; - во время startup recovery, если остановка произошла на предыдущем запуске;
- при обычном апгрейде сервиса без явного crash-сценария.
Что проверять
- Остановка сервиса до
commitБД. - Остановка сервиса после
commit, но до заменыmain.bch. - Остановка сервиса во время
BlockchainResyncCleanupDAO. - Остановка сервиса во время повторной загрузки цепочки по
GetBlockchainBlock. - Поведение при обычном
systemctl restart, когда сервер сам должен добить recovery.
Ожидаемый результат
- после старта сервер либо дочищает временные артефакты, либо завершает незаконченный
resync; - не остаётся битых
.tmp_bch,.write_check,.write_pending,.resync_pending; - БД и файлы цепочки остаются согласованными;
- обычная работа сервера не стартует поверх незавершённого recovery.
Статус
pending