public abstract class AbstractReplicationStrategy
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
AbstractReplicationStrategy.ReplicaCache<K,V> |
Modifier and Type | Field and Description |
---|---|
java.util.Map<java.lang.String,java.lang.String> |
configOptions |
IEndpointSnitch |
snitch |
Modifier | Constructor and Description |
---|---|
protected |
AbstractReplicationStrategy(java.lang.String keyspaceName,
TokenMetadata tokenMetadata,
IEndpointSnitch snitch,
java.util.Map<java.lang.String,java.lang.String> configOptions) |
Modifier and Type | Method and Description |
---|---|
abstract java.util.List<java.net.InetAddress> |
calculateNaturalEndpoints(Token searchToken,
TokenMetadata tokenMetadata)
calculate the natural endpoints for the given token
|
static AbstractReplicationStrategy |
createReplicationStrategy(java.lang.String keyspaceName,
java.lang.Class<? extends AbstractReplicationStrategy> strategyClass,
TokenMetadata tokenMetadata,
IEndpointSnitch snitch,
java.util.Map<java.lang.String,java.lang.String> strategyOptions) |
com.google.common.collect.Multimap<java.net.InetAddress,Range<Token>> |
getAddressRanges() |
com.google.common.collect.Multimap<java.net.InetAddress,Range<Token>> |
getAddressRanges(TokenMetadata metadata) |
static java.lang.Class<AbstractReplicationStrategy> |
getClass(java.lang.String cls) |
java.util.ArrayList<java.net.InetAddress> |
getNaturalEndpoints(RingPosition searchPosition)
get the (possibly cached) endpoints that should store the given Token.
|
java.util.Collection<Range<Token>> |
getPendingAddressRanges(TokenMetadata metadata,
java.util.Collection<Token> pendingTokens,
java.net.InetAddress pendingAddress) |
java.util.Collection<Range<Token>> |
getPendingAddressRanges(TokenMetadata metadata,
Token pendingToken,
java.net.InetAddress pendingAddress) |
com.google.common.collect.Multimap<Range<Token>,java.net.InetAddress> |
getRangeAddresses(TokenMetadata metadata) |
abstract int |
getReplicationFactor()
calculate the RF based on strategy_options.
|
<T> AbstractWriteResponseHandler<T> |
getWriteResponseHandler(java.util.Collection<java.net.InetAddress> naturalEndpoints,
java.util.Collection<java.net.InetAddress> pendingEndpoints,
ConsistencyLevel consistency_level,
java.lang.Runnable callback,
WriteType writeType,
long queryStartNanoTime) |
boolean |
hasSameSettings(AbstractReplicationStrategy other) |
abstract void |
maybeWarnOnOptions() |
java.util.Collection<java.lang.String> |
recognizedOptions() |
abstract void |
validateOptions() |
protected void |
validateReplicationFactor(java.lang.String rf) |
static void |
validateReplicationStrategy(java.lang.String keyspaceName,
java.lang.Class<? extends AbstractReplicationStrategy> strategyClass,
TokenMetadata tokenMetadata,
IEndpointSnitch snitch,
java.util.Map<java.lang.String,java.lang.String> strategyOptions) |
public final java.util.Map<java.lang.String,java.lang.String> configOptions
public IEndpointSnitch snitch
protected AbstractReplicationStrategy(java.lang.String keyspaceName, TokenMetadata tokenMetadata, IEndpointSnitch snitch, java.util.Map<java.lang.String,java.lang.String> configOptions)
public java.util.ArrayList<java.net.InetAddress> getNaturalEndpoints(RingPosition searchPosition)
searchPosition
- the position the natural endpoints are requested forpublic abstract java.util.List<java.net.InetAddress> calculateNaturalEndpoints(Token searchToken, TokenMetadata tokenMetadata)
searchToken
- the token the natural endpoints are requested forgetNaturalEndpoints(org.apache.cassandra.dht.RingPosition)
public <T> AbstractWriteResponseHandler<T> getWriteResponseHandler(java.util.Collection<java.net.InetAddress> naturalEndpoints, java.util.Collection<java.net.InetAddress> pendingEndpoints, ConsistencyLevel consistency_level, java.lang.Runnable callback, WriteType writeType, long queryStartNanoTime)
public abstract int getReplicationFactor()
public com.google.common.collect.Multimap<java.net.InetAddress,Range<Token>> getAddressRanges(TokenMetadata metadata)
public com.google.common.collect.Multimap<Range<Token>,java.net.InetAddress> getRangeAddresses(TokenMetadata metadata)
public com.google.common.collect.Multimap<java.net.InetAddress,Range<Token>> getAddressRanges()
public java.util.Collection<Range<Token>> getPendingAddressRanges(TokenMetadata metadata, Token pendingToken, java.net.InetAddress pendingAddress)
public java.util.Collection<Range<Token>> getPendingAddressRanges(TokenMetadata metadata, java.util.Collection<Token> pendingTokens, java.net.InetAddress pendingAddress)
public abstract void validateOptions() throws ConfigurationException
ConfigurationException
public abstract void maybeWarnOnOptions()
public java.util.Collection<java.lang.String> recognizedOptions()
public static AbstractReplicationStrategy createReplicationStrategy(java.lang.String keyspaceName, java.lang.Class<? extends AbstractReplicationStrategy> strategyClass, TokenMetadata tokenMetadata, IEndpointSnitch snitch, java.util.Map<java.lang.String,java.lang.String> strategyOptions)
public static void validateReplicationStrategy(java.lang.String keyspaceName, java.lang.Class<? extends AbstractReplicationStrategy> strategyClass, TokenMetadata tokenMetadata, IEndpointSnitch snitch, java.util.Map<java.lang.String,java.lang.String> strategyOptions) throws ConfigurationException
ConfigurationException
public static java.lang.Class<AbstractReplicationStrategy> getClass(java.lang.String cls) throws ConfigurationException
ConfigurationException
public boolean hasSameSettings(AbstractReplicationStrategy other)
protected void validateReplicationFactor(java.lang.String rf) throws ConfigurationException
ConfigurationException
Copyright © 2009- The Apache Software Foundation