cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Greene <michael.gre...@gmail.com>
Subject Re: why does remove need a timestamp?
Date Mon, 09 Nov 2009 05:10:09 GMT
The remove call does not need the timestamp of what you inserted, it
just needs a timestamp *at least* that large.  The current time will
work.  Cassandra needs this to ensure that you are not removing
later-added data.

e.g.
Client 1 sends node X: Add 'a' at 11:00:00
Client 2 sends node Y: Remove 'a' at 11:00:01
Client 3 sends node Z: Add 'a' at 11:00:02

In this scenario, the final update to 'a' is what the system will
eventually see as the state.  If there were no timestamps, it would be
a race to see which of the changes prevailed.  With the timestamps,
the original 'a' that 1 added is removed by 2, and 3's changes are
left.

Michael

On Sun, Nov 8, 2009 at 10:57 PM, Ramzi Rabah <rrabah@playdom.com> wrote:
> 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?
>
> Thanks
> Ray
>

Mime
View raw message