Send writes to stable replicas when replicate-on-write is disabled during 
bootstrap
-----------------------------------------------------------------------------------

                 Key: CASSANDRA-2389
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2389
             Project: Cassandra
          Issue Type: Bug
            Reporter: Stu Hood


During bootstrap with replicate-on-write disabled, our previous approach of 
widening the replica set via TokenMetadata.getWriteEndpoints is not the correct 
approach. Instead, since a write is not immediately bound for all replicas, it 
needs to be sent to a replica that isn't joining or leaving the replica set due 
to bootstrap.

Example: with rf=3, 4 nodes are active in a particular replica set: 1 is 
joining the set, 1 is leaving the set, and 2 are stable in the set (not 
affected by the bootstrap). The 2 stable nodes are the ones to which it is 
"safe" to send un-replicated writes during the bootstrap.

Note that running without replicate-on-write enabled is _never_ recommended, 
but while the setting exists, we should do the right thing.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to