Nick Bailey created CASSANDRA-4658:
--------------------------------------

             Summary: 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