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

Nicholas Telford commented on CASSANDRA-1627:
---------------------------------------------

To clarify, this would fix two major availability issues:
- Clusters with RF=1 not being able to use QUORUM (at present, the number of 
QUORUM nodes exceeds RF, so would always fail)
- Clusters with an odd RF not being able to run QUORUM operations if N / 2 - 1 
nodes are down.

The second point is especially important as clusters with RF=3 currently can't 
run QUORUM operations when a single node is down (e.g. during a rolling 
restart).

> Better QUORUM calculation algorithm 
> ------------------------------------
>
>                 Key: CASSANDRA-1627
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1627
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API, Core
>            Reporter: Juho Mäkinen
>
> The current QUORUM calculation algorithm is a bit problematic on some setups, 
> especially when using ReplicationFactor 3 (RF=3).
> As the current algorithm is "N / 2 + 1" the result is rounded to nearest 
> integer, resulting that on RF=3 the QUORUM is also 3. Discussion with 
> ntelford and ron_r resulted a better suggestion to use FLOOR(N / 2 + 1), 
> resulting QUORUM 2 on RF=3, but also decreasing the QUORUM value on odd RF 
> numbers above RF=4, resulting faster cluster operation but still maintaining 
> the QUORUM requirement.
> Here's a table showing current method and the new suggestion:
> ||RF|||1||2||3||4||5||6||7||8||9||10||
> |round(N / 2 + 1)|2|2|3|3|4|4|5|5|6|6|
> |FLOOR(N/2 + 1)|1|2|2|3|3|4|4|5|5|6|

-- 
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