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

Gary Stewart commented on CASSANDRA-9602:
-----------------------------------------

In (certain) versions 2.0 this was supported:
http://docs.datastax.com/en/cassandra/2.0/cassandra/dml/dml_config_consistency_c.html

In version 2.1 it is now suddenly not supported.  
http://docs.datastax.com/en/cassandra/2.1/cassandra/dml/dml_config_consistency_c.html

This is actually a breaking change in the upgrade path and will hurt clients 
especially when using it for multi-tenancy solutions.

Our use-case is is very heavy writes where latency matters thus we choose 
CL=LOCAL_QUORUM and seriously few reads where latency does not matter thus we 
choose to use CL=EACH_QUORUM.  This is the minimum to ensure strong consistency 
which we also need.  Now, we are now forced to change to ALL with downgrading 
consistency.




> EACH_QUORUM READ support needed
> -------------------------------
>
>                 Key: CASSANDRA-9602
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9602
>             Project: Cassandra
>          Issue Type: Sub-task
>            Reporter: Scott Guminy
>            Assignee: Carl Yeksigian
>              Labels: client-impacting, doc-impacting
>             Fix For: 3.x
>
>
> EACH_QUORUM consistency for READ should be added.
> This bug https://issues.apache.org/jira/browse/CASSANDRA-3272 says it is not 
> needed ever, however I have a use case where I need it.  I think the decision 
> made was incorrect. Here's why...
>  
>  My application has two key pieces:
>  
>  # *End user actions* which add/modify data in the system.  End users 
> typically access the application from only one Data Center and only see their 
> own data
> # *Scheduled business logic tasks* which run from any node in any data 
> center.  These tasks process data added by the end users in an asynchronous 
> way
>  
>  *End user actions must have the highest degree of availability.*  Users must 
> always be able to add data to the system.  The data will be processed later.  
> To support this, end user actions will use *LOCAL_QUORUM Read and Write 
> Consistency*.
>  
>  Scheduled tasks don't need to have a high degree of availability but MUST 
> operate on the most up to date data.  *The tasks will run with EACH_QUORUM* 
> to ensure that no matter how many data centers we have, we always READ the 
> latest data.  This approach allows us some amount of fault tolerance. 
>  
>  The problem is that EACH_QUORUM is not a valid READ consistency level.  This 
> mean I have no alternative but to use ALL.  ALL will work, but is not the 
> best since it offers support for ZERO failures.  I would prefer EACH_QUORUM 
> since it can support some failures in each data center.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to