[
https://issues.apache.org/jira/browse/CASSANDRA-4658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13455075#comment-13455075
]
Brandon Williams commented on CASSANDRA-4658:
---------------------------------------------
bq. To automate we can do more in getRandomTokens() so we check if the random
tokens are in different racks
That's impossible to do in a new cluster, though.
> NTS/RackAwareness doesn't work with vnodes
> ------------------------------------------
>
> Key: CASSANDRA-4658
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4658
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 1.2.0 beta 1
> Reporter: Nick Bailey
> Fix For: 1.2.0
>
>
> It doesn't look like the current vnode placement strategy will work with
> people using NTS and multiple racks.
> For reasons also described on CASSANDRA-3810, using racks and NTS requires
> tokens to alternate racks around the ring in order to get an even
> distribution of data. The current solution for upgrading/placing vnodes won't
> take this into account and will likely generate some hotspots around the
> ring.
> Not sure what the best solution is. The two immediately obvious approaches
> appear to be quite complicated at first.
> * Fixing NTS to remove the requirement for rack ordering
> ** No idea how this would be accomplished
> ** Presents challenges for people upgrading. Would need to deprecate NTS for
> a new strategy that replaces it, then have a clear upgrade path to that
> strategy which would need to be in a pre 1.2 release.
> * Changing vnode placement strategy
> ** Ordering vnodes would require quite a bit of additional logic. Adding a
> new node or rack would also need to maintain ordering which could cause
> enough data movement to remove any benefits vnodes have already.
> ** We could potentially adjust vnode token placement to offset any imbalances
> caused by NTS but this would require a fairly intelligent mechanism for
> determining vnode placement.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira