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-ভিত্তিক