[
https://issues.apache.org/jira/browse/CASSANDRA-16203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17402059#comment-17402059
]
Sumanth Pasupuleti commented on CASSANDRA-16203:
------------------------------------------------
+1 on the nice by-product of architectural documentation through CEPs :)
[~cam1982] Below are my review comments
1. It maybe useful to declare a String constant to store the
"replication_factor" value, given it is used 4 times.
2. In the ConfigurationException string, did you mean to indicate
"RackAwareTopologyStrategy" instead of "NetworkTopologyStrategy"
3. It can be useful to add comments explaining the parameters for constructor
of DatacenterEndpoints
4. I believe there is a redundant "return done()" statement at the end of the
if block "if (rackReplicaCount < replicasPerRack)" inside the method "boolean
addEndpointAndCheckIfDone"
5. Rebase is needed since AbstractReplicationStrategy requires implementing
calculateNaturalReplicas() vs calculateNaturalEndpoints(),and the latest code
uses InetAddressAndPort vs InetAddress
6. It would also be nice to add description to RackAwareTopologyStrategy in
terms of how it varies from NetworkTopologyStrategy
7. You may want to add testcases against RackAwareTopologyStrategy
> Rack Aware Topology Strategy
> ----------------------------
>
> Key: CASSANDRA-16203
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16203
> Project: Cassandra
> Issue Type: Improvement
> Components: Cluster/Membership
> Reporter: Cameron Zemek
> Assignee: Cameron Zemek
> Priority: Normal
> Fix For: 4.x
>
> Attachments: rackaware.patch
>
>
> If replication factor > racks then NetworkTopologyStrategy assigns the extras
> in ring order. This means losing a rack can result in the loss of quorum. I
> have implemented a similar topology strategy that evenly distributes replicas
> across racks.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]