[
https://issues.apache.org/jira/browse/CASSANDRA-1072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12890255#action_12890255
]
Sylvain Lebresne commented on CASSANDRA-1072:
---------------------------------------------
I may be wrong here, but I think that it is a bit harder in
Cassandra. At least, here's a scenario I'm unsure how to deal with unless you
distinguish a primary replica for each write (as done in Kelvin algorithm).
Take a cluster with RP=3. Let's call A, B and C the 3 node hosting some
counter c. Now say you do writes with CL.QUORUM (or less) and the writes are
initially done on some other node D that dispatch the writes to A, B and C.
Consider the two following scenario:
S1: you do 2 simple increments (+1) and everything works fine.
A, B and C receives those and each have 2 columns whose values are 1 and whose
clocks are ... (that's the point, not sure what are those clock to make it
work).
S2: you do 3 simple increments (+1). For some reason you are (really) unlucky
and on each write one of the node (each time a different one) don't get it.
So you also end up with each node (A, B and C) having 2 columns whose values
are 1 and whose clocks are ... (same as in S1). But note that it's CL.QUORUM,
we have acknowledged the writes and should return 3 on a CL.QUORUM or CL.ALL
read.
I don't see any reasonable values for the clocks so that upon a read (even at
CL.ALL) both those scenario returns the right value.
Sorry if I miss something simple, but I'll be interested by any idea/solution.
> Increment counters
> ------------------
>
> Key: CASSANDRA-1072
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1072
> Project: Cassandra
> Issue Type: Sub-task
> Components: Core
> Reporter: Johan Oskarsson
> Assignee: Kelvin Kakugawa
> Attachments: CASSANDRA-1072-2.patch, CASSANDRA-1072.patch
>
>
> Break out the increment counters out of CASSANDRA-580. Classes are shared
> between the two features but without the plain version vector code the
> changeset becomes smaller and more manageable.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.