Testing and Validation
Операторский baseline для crash/recovery validation и связанных проверок.
Каноничный источник: этот runbook в angarabook/src/operations/.
Goal
Проверять, что recovery-путь:
- не даёт silent corruption;
- сохраняет контракт durability mode;
- остаётся идемпотентным при повторных рестартах.
Core invariants
- No silent corruption: либо корректный старт, либо явный fail с диагностикой.
- Idempotent recovery: повторный restart не меняет oracle outcome.
- Visibility safety: uncommitted изменения не становятся видимыми после recovery.
- Durability semantics:
strict: ack-commit обязан пережить crash;group_commit: ack semantics строго соответствует заявленному контракту;relaxed: возможна потеря части ack-commit в рамках контракта, но без нарушения целостности.
Minimal runner
Pinned runner:
tools/storage_poc/crash_loop.sh
Ключевые профили:
--nightly--dirty-pressure--double-restart--durability strict|group_commit|relaxed--corrupt-txlog/--corrupt-storage(fail-fast проверки)
Minimum scenarios
- SIGKILL during commit storm (tail handling).
- SIGKILL around checkpoint markers.
- Double restart idempotence.
Required artifacts
txlog_scan_*.jsontxlog_replay_*/*.jsonrecovery_summary.json(+ restart2 summary для idempotence)- machine-readable pass/fail summary для CI/nightly.
Exit criteria (operator gate)
- Все обязательные сценарии проходят.
- Артефакты валидны и доступны для triage.
- Нет нарушений инвариантов visibility/durability.
Related operations references
src/operations/backup-restore.mdsrc/operations/disaster-recovery.mdsrc/operations/diagnostics-bundle.md
Дальше
- Golden dataset management — на каких данных гоняются validation-сценарии.
- CI reproducibility contract — гарантии воспроизводимости для validation pipeline.
- Operational policies baseline — какие политики обязаны иметь validation-cover.