Hi, 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?
In our particular test, we performed a row delete using the remove API, but we took down one of the Cassandra nodes as part of a fail-over test. So, the remove call didn't succeed from the client's perspective, but we ended up with some columns being deleted from the row (not all) and started to wonder if the remove API call was atomic.