cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Schuller <>
Subject Re: What happens if there is a collision?
Date Thu, 21 Oct 2010 21:40:59 GMT
> OK. Thanks for your answer. From an email exchange I had with Jonathan, all
> this means that one should re-read its writes with quorum to make sure they
> have not been overriden by timestamp-tie conflicts. I suggested to send
> feedback to writting node (in the ACK) when such timestamps-tie conflict
> happen. This would avoid having to double-check all writes for timestamp-tie
> conflicts.
> If multiple applications write to the same ColumnFamily/Tables, this
> double-check is a must (unless a separate locking mecanism is implemented,
> which would be more heavy).

I'm not sure I understand what you're trying to accomplish. Given that
you have no locking/synchronization mechanism external to Cassandra,
what is it that you are actually learning from re-reading the value? A
completed write at level QUOROM means it was successfully written and
that readers reading at QUOROM will see it unless the value has been
updated subsequently. But even if you re-read, that does not remove
the fundamental potential for a race condition (i.e., you still don't
know when you see the result of your read whether it wasn't just
ovewritten anyway just after you did your read).

Perhaps I'm misunderstanding what you're trying to do?

/ Peter Schuller

View raw message