So I watched Instagram’s presentation about Cassandra and how they handle undos/deletes (http://youtu.be/xDtclzE4ydA?t=12m55s) and how to get around the race condition that a get-before-write causes.
They use this anti-column that stores an action where the first component of the composite column is a 0 or 1, 0 if it’s an undo, 1 if it’s the action. The second component of the composite column is the md5 hash of the activity if it is an undo (anti-column = 0), and the actual data pertaining to the activity if anti-column = 1. Why is the undo activity stored as an md5 hash? Do they md5 hash everything (both anti column = 1 and anti column = 0), compare the two lists, and negate everything where the md5 hashes match? -Raymond