[ 
https://issues.apache.org/jira/browse/CASSANDRA-1072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12964568#action_12964568
 ] 

Sylvain Lebresne commented on CASSANDRA-1072:
---------------------------------------------

I read through the last patch:

 # I think there is a "bug" with the repair-on-write. As written, before 
sending a "repair", it cleans the context for all the replicas it will send it 
to, that is all alive replicas. This will basically clean up everything (except 
for maybe the count of down or old (decommissioned) replicas). Again, unless 
I'm missing something obvious, this will basically spend its time sending empty 
row mutations.  For each replica, only the context of this replica should be 
cleaned before sending it the repair mutation for this to be useful.
 # Even if "fixed", repair-on-write doesn't help to give consistency 
guarantees, being (non-optionally) asynchronous. Only CL.ONE is supported for 
writes (which anecdotally is only checked by an assertion much too late).  I 
see no reason for that limitation and to me it sure sound like something we 
want to provide on day one.
 # It removes the fix of the race condition. I strongly believe correctness 
should be our first concern. Making the race condition less harmful is not a 
fix. That being said, I'm not saying the fix in 1546 cannot be improved and the 
locking be made more fine-grained.

Even in the absence of any failure, there is no more guarantee that what CL.ONE 
has to offers. By giving so little guarantees, 1072 will make the counter 
useful to much less people that it could, and this for no clear reason. 


> 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.112210.patch, CASSANDRA-1072.patch, 
> increment_test.py, Partitionedcountersdesigndoc.pdf
>
>
> 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.

Reply via email to