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

Log Matching Property

লগ-ম্যাচিং প্রপার্টি

Raft-এর invariant — দুই log-এ এক index-এ এক term-এর entry থাকলে, তার আগের পুরো prefix identical।

AppendEntries consistency check এই property টানে:

leader.log[i] = (term t, cmd c)
follower.log[i] = (t', c')
t' == t হতে হবে ⇒ i-1, i-2, ... সব জায়গায় দুই log এক
  • Induction argument: index i-তে match ⇒ AppendEntries-এর prevLogIndex/ prevLogTerm check i-1 match করায় ⇒ পিছনে পিছনে পুরো prefix
  • Practical ফল: conflict খুঁজতে হয় না — mismatch দেখামাত্র leader follower-এর suffix overwrite করতে পারে, কারণ conflicting prefix committed হওয়ার উপায় নেই
  • State Machine Safety-র দুই স্তম্ভের একটা (অন্যটা Leader Completeness)