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

Peter Schuller commented on CASSANDRA-3868:
-------------------------------------------

We have been saved by this in production at least once, as it allows a cluster 
to absorb counters without doing reads in the write path. It's a very useful 
feature in that it "turns off" the one behavior of counters which is contrary 
to the usual write-centric design of Cassandra. Not replicating for a while can 
easily be a much better option than not being able to absorb the write traffic 
at all, since you're still eventually consistent even if you're significantly 
increasing the risk of dropping increments.

In particular, I would note that whenever CL.ONE is used, it can correctly be 
satisfied without replication.

We even discussed briefly maybe introducing an automatic skipping of the 
replicate-on-write step, if the stage is backed up with pending, in order to 
get more graceful degradation - that's how useful it was for us, and is 
expected to be for use-cases where you have large amounts of data and high 
write throughput (the issue being that the read-on-write is so *massively* more 
expensive than the write-only path, if you end up going down to platters).

I'm strongly in dis-favor of removing this option for the shear practical 
applicability of it, and I don't believe in protecting the user from mistakes 
in cases like this. It seems unlikely that people accidentally turn off 
replicate on write off (unless documentation somehow directs them to). Given 
that the removal is basically just the handling of the option and such, rather 
than removing large chunks of code that someone has to maintain, I don't see a 
major disadvantage to keeping it.

                
> Remove or nullify replicate_on_write option
> -------------------------------------------
>
>                 Key: CASSANDRA-3868
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-3868
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.8.0
>            Reporter: Brandon Williams
>             Fix For: 1.1.0
>
>         Attachments: 3868.txt
>
>
> My understanding from Sylvain is that setting this option to false is rather 
> dangerous/stupid, and you should basically never do it.  So 1.1 is a good 
> time to get rid of it, or make it a no-op.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to