org.apache.cassandra.locator
Class RackAwareStrategy

java.lang.Object
  extended by org.apache.cassandra.locator.AbstractReplicationStrategy
      extended by org.apache.cassandra.locator.RackAwareStrategy

public class RackAwareStrategy
extends AbstractReplicationStrategy

This Replication Strategy returns the nodes responsible for a given key but respects rack awareness. It places one replica in a different data center from the first (if there is any such data center), the third replica in a different rack in the first datacenter, and any remaining replicas on the first unused nodes on the ring.


Field Summary
 
Fields inherited from class org.apache.cassandra.locator.AbstractReplicationStrategy
configOptions, snitch, table
 
Constructor Summary
RackAwareStrategy(java.lang.String table, TokenMetadata tokenMetadata, IEndpointSnitch snitch, java.util.Map<java.lang.String,java.lang.String> configOptions)
           
 
Method Summary
 java.util.Set<java.net.InetAddress> calculateNaturalEndpoints(Token token, TokenMetadata metadata)
          calculate the natural endpoints for the given token
 
Methods inherited from class org.apache.cassandra.locator.AbstractReplicationStrategy
clearCachedEndpoints, createReplicationStrategy, createReplicationStrategy, getAddressRanges, getAddressRanges, getHintedEndpoints, getNaturalEndpoints, getPendingAddressRanges, getQuorumResponseHandler, getRangeAddresses, getWriteResponseHandler, invalidateCachedSnitchValues, invalidateCachedTokenEndpointValues
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RackAwareStrategy

public RackAwareStrategy(java.lang.String table,
                         TokenMetadata tokenMetadata,
                         IEndpointSnitch snitch,
                         java.util.Map<java.lang.String,java.lang.String> configOptions)
Method Detail

calculateNaturalEndpoints

public java.util.Set<java.net.InetAddress> calculateNaturalEndpoints(Token token,
                                                                     TokenMetadata metadata)
Description copied from class: AbstractReplicationStrategy
calculate the natural endpoints for the given token

Specified by:
calculateNaturalEndpoints in class AbstractReplicationStrategy
Parameters:
token - the token the natural endpoints are requested for
Returns:
a copy of the natural endpoints for the given token
See Also:
AbstractReplicationStrategy.getNaturalEndpoints(org.apache.cassandra.dht.Token)


Copyright © 2010 The Apache Software Foundation