[
https://issues.apache.org/jira/browse/CASSANDRA-9895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14643370#comment-14643370
]
Aleksey Yeschenko commented on CASSANDRA-9895:
----------------------------------------------
I'm afraid it's not that simple.
We still want to filter the local one out *if we have N > 2*.
So the logic would look like this:
- just local, if N = 1
- local and some other node, if N = 2
- two remote nodes only, if N >= 3
> Batchlog RF>1 writes to a single node but not itself.
> -----------------------------------------------------
>
> Key: CASSANDRA-9895
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9895
> Project: Cassandra
> Issue Type: Bug
> Reporter: T Jake Luciani
> Assignee: Aleksey Yeschenko
> Fix For: 2.1.x, 3.0 alpha 1
>
>
> In the batchlogmanager when selecting the endpoints for to write the batchlog
> to, for RF>1, we filter out any down nodes and the local node.
> This means we require two nodes up but only write to one. Why? This affects
> availability since we need two nodes to write at CL.ONE.
> If we *require* two copies of the batchlog then we should include ourselfs in
> the calculation.
> If we allow a batchlog write with only a single node up then we should write
> to the local batchlog.
> The code is here:
> https://github.com/apache/cassandra/blob/1c80b04be1d47d03bbde888cea960f5ff8a95d58/src/java/org/apache/cassandra/db/BatchlogManager.java#L530
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)