[ 
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

Reply via email to