On Wed, Nov 18, 2015 at 6:16 AM, Anuj Wadehra <anujw_2...@yahoo.co.in> wrote:
> Suppose, gc grace seconds=10days, max hinted handoff period=3 hrs, 3 nodes > are there A,B & C,RF =3 and my client is reading at CL ONE. C remains down > for 5 hours and misses many updates including those which happened after > max hinted handoff period of 3 hrs. Now I bring back node C with > auto_bootstrap false and run repair. If client queries at CL ONE and > fetches a row which got updated after max hinted handoff period, there is a > very high possibility of client returning stale data from node C . But as > soon as node C has joined the ring, it will start participating in WRITEs. > > But if we follow the procedure you suggested, node C will come back, run > repair but wont participate in reads till we join it to the cluster. During > repair, if client queries at CL ONE and fetches a row which got updated > after max hinted handoff period expired and was missed by node C, it will > still get latest data from A and B. So, the integrity of data is not lost > similar to the case when we auto_bootsrap with true. Additionally we save > the unique data of node C. While repair is going on, node C will get all > the Writes. > Yes, during this time, C is getting "extra" writes as it is repairing itself vis a vis A and B, but it is not serving reads. =Rob