The document explains you cannot mix them
http://docs.datastax.com/en/archived/cassandra/2.2/cassandra/dml/dmlLtwtTransactions.html

But what happens under the hood if I do? e.g,

DELETE ....
INSERT ... IF NOT EXISTS

The coordinator has 4 steps to do the second statement (INSERT)
1. prepare/promise a ballot
2. read current row from replicas
3. propose new value along with the ballot to replicas
4. commit and wait for ack from replicas

My question is, once the row is DELETed, the next INSERT LWT should be able
to see that row's tombstone in step 2, then successfully inserts the new
value. But my tests shows that this often fails, does anybody know why?

-- 
Thanks & Regards,
Daniel

Reply via email to