[
https://issues.apache.org/jira/browse/CASSANDRA-2389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stu Hood updated CASSANDRA-2389:
--------------------------------
Attachment: 0002-WIP-Add-a-counter-bootstrap-test.txt
0001-During-bootstrap-only-perform-counter-writes-to-stable.txt
I mostly implemented this before realizing we had fish of varying sizes to fry:
attaching the work so far. 0001 is complete but inefficient, and 0002
implements a non-passing counter bootstrap test.
> 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
> Attachments:
> 0001-During-bootstrap-only-perform-counter-writes-to-stable.txt,
> 0002-WIP-Add-a-counter-bootstrap-test.txt
>
>
> 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