[
https://issues.apache.org/jira/browse/CASSANDRA-13225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15870573#comment-15870573
]
Connor Warrington commented on CASSANDRA-13225:
-----------------------------------------------
Looks like this JIRA ticket is what I should be looking at:
https://issues.apache.org/jira/browse/CASSANDRA-9318
> Best Consistency Level
> ----------------------
>
> Key: CASSANDRA-13225
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13225
> Project: Cassandra
> Issue Type: New Feature
> Reporter: Connor Warrington
> Priority: Minor
>
> When writing data into a cluster there are a few consistency levels to choose
> from. When choosing the consistency level to write with you are making a
> tradeoff between consistency and failover availability. If you choose
> consistency level ALL then all replicas have to be up and when a write
> succeeds all replicas received the write. If you choose consistency level
> QUORUM then a quorum number of replicas have to be up and when a write
> succeeds at quorum number of replicas received the write. The tradeoff comes
> in when there are more then quorum nodes available for the write. We would
> like a write to succeed only when all replicas that are up have received the
> write. Hence the suggestion of best as a consistency level. This would be
> available for the existing consistency levels. The main idea behind this
> feature request is that we are okay with a replica going down (fault
> tolerance) but when the cluster is in a good state we don't mind waiting for
> all nodes to get the write. This would enable the writer to operate at speed
> of the slowest node instead of potentially getting into a state where that
> slow node gets even further behind. This would also enable back pressure to
> be better propagated through the system as the slowest node likely has back
> pressure which is trying to tell the client about but if we don't wait for
> that node the writer loses that information.
> Example scenarios:
> If we have replication factor of 3:
> ALL consistency means 3 replicas have to be up and 3 replicas have to
> successfully get the write.
> QUORUM consistency means 2 replicas have to be up and 2 replicas have to
> successfully get the write.
> BEST_QUORUM consistency means 2 replicas have be up and all up replicas have
> to successfully get the write.
> If 3 replicas are up with replication factor of 3:
> ALL would succeed as all 3 replicas are up and would return success when all
> 3 replicas get the write
> QUORUM would succeed as all 3 replicas are up and would return success when 2
> replicas get the write
> BEST_QUORUM would succeed as all 3 replicas are up and would return success
> when all 3 replicas get the write
> If 2 replicas are up with replication factor of 3:
> ALL would fail as only 2 replicas are up
> QUORUM would succeed as 2 replicas are up and would return success when 2
> replicas get the write
> BEST_QUORUM would succeed as 2 replicas are up and would return success when
> 2 replicas get the write
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)