Foundationপ্রথম নীতি থেকে
LEVEL 9 · Distributed Systems

Crash-Recovery Model

ক্র্যাশ-রিকভারি মডেল

Process যেকোনো মুহূর্তে মরে, restart হয় — কী stable storage-এ টিকে থাকে আর কী memory-তে হারায়, সেই চুক্তি।

also: fail-recover, crash-stop

Model-টা দুই প্রশ্নে দাঁড়ায়:

1. কখন মরে?    → যেকোনো instruction-এর পরে (even mid-write)
2. ফিরে এলে কী মনে থাকে? → শুধু fsync হওয়া stable state
  • Volatile vs persistent ভাগটাই algorithm design-এর খেলা — Raft-এর currentTerm/votedFor/log persist, বাকি সব (commitIndex, role) relearn
  • Recovery-র পরে operations replay হতে পারে (message in flight) — তাই handler idempotent হওয়া চুক্তির অংশ
  • Fail-stop (মরলে সৎভাবে থামে) + fail-recover = production consensus systems-এর default model; byzantine assumption নিলে খরচ 3f+1-এ লাফায়