2009/11/9 Ramzi Rabah <rrabah@playdom.com>
Hello all:
I am confused about the need of passing a  timestamp for the remove
operation. Why does the remove operation in Cassandra require a
timestamp? What happens if I provide a remove call with a different
timestamp than what I inserted, will the row still be deleted?

It is so that if the commands are replayed in a different order on different nodes, the same result is produced.

Remove only removes values which have a timestamp of before or the same as the one provided - this is essential, as if a "later" insert "overtakes" the remove, the remove needs to avoid removing "newer" data.

The eventual consistency model only works (i.e. only produces consistency) if mutations have the same effect regardless of the order they are applied in.

That is my understanding anyway.