cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Anastasyev <>
Subject Re: Does Cassandra use vector clocks
Date Wed, 23 Feb 2011 15:57:21 GMT
> From the article I linked:
> "But wait, some might say, you can avoid all this by using vectors in
> a different way – to prevent update conflicts by issuing conditional
> writes which specify a version (vector) and only succeed if that
> version is still current. Sorry, but no, or at least not generally. In
> a partition-tolerant system, nodes on each side of a partition may
> simultaneously accept conflicting writes against the same initial
> version, and you’ll still have to resolve the conflict when you
> resolve the partition."

>From the other hand, the same article says: 
"For conditional writes to work, the condition must be evaluated at all update
sites before the write can be allowed to succeed."

This means, that when doing such an update CL=ALL must be used. This could be a
bearable price to pay for conflict detection. Of course for cassandra this could
be not so easy to implement, because , AFAIK, it performs conflict resolution
during reads and compactions, not during writes, like, eg voldemort does.

View raw message