org.apache.cassandra.locator
Class AbstractReplicationStrategy
java.lang.Object
org.apache.cassandra.locator.AbstractReplicationStrategy
- Direct Known Subclasses:
- DatacenterShardStategy, RackAwareStrategy, RackUnawareStrategy
public abstract class AbstractReplicationStrategy
- extends java.lang.Object
This class contains a helper method that will be used by
all abstraction that implement the IReplicaPlacementStrategy
interface.
Method Summary |
com.google.common.collect.Multimap<java.net.InetAddress,Range> |
getAddressRanges()
|
com.google.common.collect.Multimap<java.net.InetAddress,Range> |
getAddressRanges(TokenMetadata metadata)
|
java.util.Map<java.net.InetAddress,java.net.InetAddress> |
getHintedEndpoints(Token token,
java.util.Collection<java.net.InetAddress> naturalEndpoints)
|
java.util.ArrayList<java.net.InetAddress> |
getNaturalEndpoints(Token token)
|
abstract java.util.ArrayList<java.net.InetAddress> |
getNaturalEndpoints(Token token,
TokenMetadata metadata)
|
java.util.Collection<Range> |
getPendingAddressRanges(TokenMetadata metadata,
Token pendingToken,
java.net.InetAddress pendingAddress)
|
com.google.common.collect.Multimap<Range,java.net.InetAddress> |
getRangeAddresses(TokenMetadata metadata)
|
java.util.Collection<java.net.InetAddress> |
getWriteEndpoints(Token token,
java.util.Collection<java.net.InetAddress> naturalEndpoints)
write endpoints may be different from read endpoints, because read endpoints only need care about the
"natural" nodes for a token, but write endpoints also need to account for nodes that are bootstrapping
into the ring, and write data there too so that they stay up to date during the bootstrap process. |
WriteResponseHandler |
getWriteResponseHandler(int blockFor,
int consistency_level)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger_
protected static final org.apache.log4j.Logger logger_
tokenMetadata_
protected TokenMetadata tokenMetadata_
partitioner_
protected IPartitioner partitioner_
replicas_
protected int replicas_
getNaturalEndpoints
public abstract java.util.ArrayList<java.net.InetAddress> getNaturalEndpoints(Token token,
TokenMetadata metadata)
getWriteResponseHandler
public WriteResponseHandler getWriteResponseHandler(int blockFor,
int consistency_level)
getNaturalEndpoints
public java.util.ArrayList<java.net.InetAddress> getNaturalEndpoints(Token token)
getHintedEndpoints
public java.util.Map<java.net.InetAddress,java.net.InetAddress> getHintedEndpoints(Token token,
java.util.Collection<java.net.InetAddress> naturalEndpoints)
getWriteEndpoints
public java.util.Collection<java.net.InetAddress> getWriteEndpoints(Token token,
java.util.Collection<java.net.InetAddress> naturalEndpoints)
- write endpoints may be different from read endpoints, because read endpoints only need care about the
"natural" nodes for a token, but write endpoints also need to account for nodes that are bootstrapping
into the ring, and write data there too so that they stay up to date during the bootstrap process.
Thus, this method may return more nodes than the Replication Factor.
Only ReplicationStrategy should care about this method (higher level users should only ask for Hinted).
getAddressRanges
public com.google.common.collect.Multimap<java.net.InetAddress,Range> getAddressRanges(TokenMetadata metadata)
getRangeAddresses
public com.google.common.collect.Multimap<Range,java.net.InetAddress> getRangeAddresses(TokenMetadata metadata)
getAddressRanges
public com.google.common.collect.Multimap<java.net.InetAddress,Range> getAddressRanges()
getPendingAddressRanges
public java.util.Collection<Range> getPendingAddressRanges(TokenMetadata metadata,
Token pendingToken,
java.net.InetAddress pendingAddress)
Copyright © 2010 The Apache Software Foundation