On Mon, Apr 5, 2010 at 5:10 PM, Paul Prescod <p...@ayogo.com> wrote: > On Mon, Apr 5, 2010 at 4:48 PM, Tatu Saloranta <tsalora...@gmail.com> wrote: >> ... >> >> I would think that there is also possibility of losing some >> increments, or perhaps getting duplicate increments? > > I believe that with vector clocks in Cassandra 0.7 you won't lose > anything. The conflict resolver will do the summation for you > properly. > > If I'm wrong, I'd love to hear more, though.
I think the key is that this is not automatic -- there is no general mechanism for aggregating distinct modifications. Point being that you could choose one amongst right answers, but not what to do with concurrent modifications. So what is done instead is have application-specific resolution strategy which makes use of semantics of operations, to know how to combine such concurrent modifications into "correct" answer. I don't know if this is trivial for case of counter increments: especially since two concurrent increments give same new value; yet correct combined result would be one higher (both used base, added one). That is to say, my understanding was that vector clocks would be required but not sufficient for reconciliation of concurrent value updates. I may be off here; apologies if I have misunderstood some crucial piece. -+ Tatu +-