On Tue, Jun 30, 2015 at 12:27 PM, Anuj Wadehra <anujw_2...@yahoo.co.in> wrote:
> Agree Tyler. I think its our application problem. If client returns failed > write in spite of retries, application must have a rollback mechanism to > make sure old state is restored. Failed write may be because of the fact > that CL was not met even though one node successfully wrote.Cassandra wont > do cleanup or rollback on one node so you need to do it yourself to make > sure that integrity of data is maintained in case strong consistency is a > requirement. Right? Correct, if you get a WriteTimeout error, you don't know if any replicas have written the data or not. It's even possible that all replicas wrote the data but didn't respond to the coordinator in time. I suspect most users handle this situation by retrying the write with the same timestamp (which makes the operation idempotent). It's worth noting that if you get an Unavailable response, you are guaranteed that the data has not been written to any replicas, because the coordinator already knew that the replicas were down when it got the response. -- Tyler Hobbs DataStax <http://datastax.com/>