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(java.lang.String table)
|
com.google.common.collect.Multimap<java.net.InetAddress,Range> |
getAddressRanges(TokenMetadata metadata,
java.lang.String table)
|
java.util.Map<java.net.InetAddress,java.net.InetAddress> |
getHintedEndpoints(Token token,
java.lang.String table,
java.util.Collection<java.net.InetAddress> naturalEndpoints)
|
java.util.ArrayList<java.net.InetAddress> |
getNaturalEndpoints(Token token,
java.lang.String table)
|
abstract java.util.ArrayList<java.net.InetAddress> |
getNaturalEndpoints(Token token,
TokenMetadata metadata,
java.lang.String table)
|
java.util.Collection<Range> |
getPendingAddressRanges(TokenMetadata metadata,
Token pendingToken,
java.net.InetAddress pendingAddress,
java.lang.String table)
|
com.google.common.collect.Multimap<Range,java.net.InetAddress> |
getRangeAddresses(TokenMetadata metadata,
java.lang.String table)
|
java.util.Collection<java.net.InetAddress> |
getWriteEndpoints(Token token,
java.lang.String table,
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,
org.apache.cassandra.thrift.ConsistencyLevel consistency_level,
java.lang.String table)
|
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_
snitch_
protected final IEndPointSnitch snitch_
getNaturalEndpoints
public abstract java.util.ArrayList<java.net.InetAddress> getNaturalEndpoints(Token token,
TokenMetadata metadata,
java.lang.String table)
getWriteResponseHandler
public WriteResponseHandler getWriteResponseHandler(int blockFor,
org.apache.cassandra.thrift.ConsistencyLevel consistency_level,
java.lang.String table)
getNaturalEndpoints
public java.util.ArrayList<java.net.InetAddress> getNaturalEndpoints(Token token,
java.lang.String table)
getHintedEndpoints
public java.util.Map<java.net.InetAddress,java.net.InetAddress> getHintedEndpoints(Token token,
java.lang.String table,
java.util.Collection<java.net.InetAddress> naturalEndpoints)
getWriteEndpoints
public java.util.Collection<java.net.InetAddress> getWriteEndpoints(Token token,
java.lang.String table,
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).
todo: this method should be moved into TokenMetadata.
getAddressRanges
public com.google.common.collect.Multimap<java.net.InetAddress,Range> getAddressRanges(TokenMetadata metadata,
java.lang.String table)
getRangeAddresses
public com.google.common.collect.Multimap<Range,java.net.InetAddress> getRangeAddresses(TokenMetadata metadata,
java.lang.String table)
getAddressRanges
public com.google.common.collect.Multimap<java.net.InetAddress,Range> getAddressRanges(java.lang.String table)
getPendingAddressRanges
public java.util.Collection<Range> getPendingAddressRanges(TokenMetadata metadata,
Token pendingToken,
java.net.InetAddress pendingAddress,
java.lang.String table)
Copyright © 2010 The Apache Software Foundation