Question-121: What is the resolution for not having a zombie record?

Answer: To prevent the appearance of Zombies, database give each Tombstone record a grace period. Having the grace period is to give unresponsive node time to recover and process Tombstone normally. 

Question-122: Let's assume that on a particular node there are 2 version of a record exist, one is marked with the Tombstone which has the latest timestamp and other is older but does not have Tombstone marker, which one would be returned during the read query?

Answer: A record with the Tombstone marker would be returned because it has latest timestamp. Suppose a client writes and you update to the Tombstone during the grace period, then database overwrites the Tombstone record.

Question-123: The grace period for Tombstone record has been expired, then when this record would be deleted?

Answer: if Grace period is expired it means Tombstone record is eligible for deletion and would be deleted during next compaction process for the SSTable in which this record exists.

Question-124: How does Grace period is defined for Tombstone record?

Answer: There is a property called “gc_grace_seconds”, which is used to find the value for Grace period having default value as 10 Days. Also remember that each table can have its own value for this property. If you have a single node cluster you can safely set this value as 0.

Question-125: What is the best way to completely avoid Zombie records?

Answer: If you want to completely prevent the appearance of the Zombie records, run the “nodetool repair” command on a node which recovers after sometimes.