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

Read Repair

রিড-রিপেয়ার

Read-এর সময় পুরনো version চোখে পড়লেই নতুন version ওই replica-তে লিখে দেওয়া — anti-entropy-র সবচেয়ে সস্তা রূপ।

also: anti-entropy-read-repair

get(k) R=3:
  n1 → v(clock {a:5})   n2 → v({a:5})   n3 → v({a:3})  ← stale!
client পায় v{a:5}, background-এ n3-কে push
  • খরচ read path-এ ছড়িয়ে থাকে — আলাদা repair job, scan বা coordination লাগে না; quorum overlap-ই stale-কে ধরে ফেলে
  • সীমা স্বচ্ছ: যে key read হয় না, সে কখনো repair হয় না — তাই এর পরিপূরক দরকার background anti-entropy (Merkle tree compare)
  • Dynamo/Cassandra দুটোতেই tunable — repair করবে কি না, কয়টা replica তুলনা করে, সব config-ভিত্তিক