On Thu, Aug 16, 2012 at 9:08 PM, Terry Cumaranatunge <cumarana@gmail.com> wrote: 
We have a Cassandra 1.0 cluster that we run with RF=3 and perform operations using a consistency level of quorum. We use batch_mutate for all inserts and updates for atomicity across column families with the same row key, but use the thrift interface remove API call in C++ to delete a row so that we can delete an entire row without having to specify individual column names. If you use the remove function to delete an entire row, is that an atomic operation? In other words, can it delete a partial number of columns in the row and leave other columns around?

It all depends on the timestamp for the column. A row level delete will place a row tombstone at the timestamp given, causing all columns with an earlier timestamp to be deleted. If a column has a later timestamp then the row tombstone, then it wont be deleted.

More info here: http://wiki.apache.org/cassandra/DistributedDeletes

Derek Williams