public class StorageService extends javax.management.NotificationBroadcasterSupport implements IEndpointStateChangeSubscriber, StorageServiceMBean
| Modifier and Type | Field and Description |
|---|---|
static StorageService |
instance |
static int |
RING_DELAY |
VersionedValue.VersionedValueFactory |
valueFactory |
| Constructor and Description |
|---|
StorageService() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addExpireTimeIfFound(java.net.InetAddress endpoint,
long expireTime) |
void |
beforeChange(java.net.InetAddress endpoint,
EndpointState currentState,
ApplicationState newStateKey,
VersionedValue newValue) |
void |
bulkLoad(java.lang.String directory)
Starts a bulk load and blocks until it completes.
|
java.lang.String |
bulkLoadAsync(java.lang.String directory)
Starts a bulk load asynchronously and returns the String representation of the planID for the new
streaming session.
|
Pair<java.util.Set<Range<Token>>,java.util.Set<Range<Token>>> |
calculateStreamAndFetchRanges(java.util.Collection<Range<Token>> current,
java.util.Collection<Range<Token>> updated)
Calculate pair of ranges to stream/fetch for given two range collections
(current ranges for keyspace and ranges after move to new token)
|
void |
checkForEndpointCollision() |
void |
clearSnapshot(java.lang.String tag,
java.lang.String... keyspaceNames)
Remove the snapshot with the given name from the given keyspaces.
|
void |
confirmReplication(java.net.InetAddress node) |
void |
decommission()
transfer this node's data to other machines and remove it from service.
|
void |
deliverHints(java.lang.String host) |
java.util.List<TokenRange> |
describeLocalRing(java.lang.String keyspace)
The same as
describeRing(String) but considers only the part of the ring formed by nodes in the local DC. |
java.util.List<TokenRange> |
describeRing(java.lang.String keyspace)
The TokenRange for a given keyspace.
|
java.util.List<java.lang.String> |
describeRingJMX(java.lang.String keyspace)
The same as
describeRing(String) but converts TokenRange to the String for JMX compatibility |
void |
disableAutoCompaction(java.lang.String ks,
java.lang.String... tables) |
void |
drain()
Shuts node off to writes, empties memtables and the commit log.
|
java.util.LinkedHashMap<java.net.InetAddress,java.lang.Float> |
effectiveOwnership(java.lang.String keyspace)
Calculates ownership.
|
void |
enableAutoCompaction(java.lang.String ks,
java.lang.String... tables) |
protected long |
extractExpireTime(java.lang.String[] pieces) |
int |
forceKeyspaceCleanup(java.lang.String keyspaceName,
java.lang.String... tables)
Trigger a cleanup of keys on a single keyspace
|
void |
forceKeyspaceCompaction(boolean splitOutput,
java.lang.String keyspaceName,
java.lang.String... tableNames)
Forces major compaction of a single keyspace
|
void |
forceKeyspaceFlush(java.lang.String keyspaceName,
java.lang.String... tableNames)
Flush all memtables for a keyspace and column families.
|
void |
forceRemoveCompletion()
Force a remove operation to complete.
|
int |
forceRepairAsync(java.lang.String keyspace,
boolean isSequential,
boolean isLocal,
boolean primaryRange,
boolean fullRepair,
java.lang.String... tableNames) |
int |
forceRepairAsync(java.lang.String keyspace,
boolean isSequential,
java.util.Collection<java.lang.String> dataCenters,
java.util.Collection<java.lang.String> hosts,
boolean primaryRange,
boolean fullRepair,
java.lang.String... tableNames)
Deprecated.
|
int |
forceRepairAsync(java.lang.String keyspace,
int parallelismDegree,
java.util.Collection<java.lang.String> dataCenters,
java.util.Collection<java.lang.String> hosts,
boolean primaryRange,
boolean fullRepair,
java.lang.String... tableNames)
Deprecated.
|
int |
forceRepairAsync(java.lang.String keyspace,
RepairOption options) |
int |
forceRepairRangeAsync(java.lang.String beginToken,
java.lang.String endToken,
java.lang.String keyspaceName,
boolean isSequential,
boolean isLocal,
boolean fullRepair,
java.lang.String... tableNames) |
int |
forceRepairRangeAsync(java.lang.String beginToken,
java.lang.String endToken,
java.lang.String keyspaceName,
boolean isSequential,
java.util.Collection<java.lang.String> dataCenters,
java.util.Collection<java.lang.String> hosts,
boolean fullRepair,
java.lang.String... tableNames) |
int |
forceRepairRangeAsync(java.lang.String beginToken,
java.lang.String endToken,
java.lang.String keyspaceName,
int parallelismDegree,
java.util.Collection<java.lang.String> dataCenters,
java.util.Collection<java.lang.String> hosts,
boolean fullRepair,
java.lang.String... tableNames)
Same as forceRepairAsync, but handles a specified range
|
void |
forceTerminateAllRepairSessions() |
java.lang.String[] |
getAllDataFileLocations()
Get the list of all data file locations from conf
|
java.util.List<Range<Token>> |
getAllRanges(java.util.List<Token> sortedTokens)
Get all ranges that span the ring given a set
of tokens.
|
int |
getBatchSizeFailureThreshold()
Returns the threshold for rejecting queries due to a large batch size
|
java.lang.String |
getClusterName()
Returns the name of the cluster
|
java.lang.String |
getCommitLogLocation()
Get location of the commit log
|
int |
getCompactionThroughputMbPerSec() |
int |
getCurrentGenerationNumber()
Return the generation value for this node.
|
java.lang.String |
getDrainProgress()
get the progress of a drain operation
|
java.net.InetAddress |
getEndpointForHostId(java.util.UUID hostId) |
java.util.Map<java.lang.String,java.lang.String> |
getEndpointToHostId()
Retrieve the mapping of endpoint to host ID
|
java.util.UUID |
getHostIdForEndpoint(java.net.InetAddress address) |
java.util.Map<java.lang.String,java.lang.String> |
getHostIdMap()
|
java.util.Map<java.lang.String,java.lang.String> |
getHostIdToEndpoint()
Retrieve the mapping of host ID to endpoint
|
int |
getInterDCStreamThroughputMbPerSec() |
java.util.List<java.lang.String> |
getJoiningNodes()
Retrieve the list of nodes currently bootstrapping into the ring.
|
java.util.List<java.lang.String> |
getKeyspaces() |
java.util.List<java.lang.String> |
getLeavingNodes()
Retrieve the list of nodes currently leaving the ring.
|
java.util.List<java.net.InetAddress> |
getLiveNaturalEndpoints(Keyspace keyspace,
java.nio.ByteBuffer key)
This method attempts to return N endpoints that are responsible for storing the
specified key i.e for replication.
|
java.util.List<java.net.InetAddress> |
getLiveNaturalEndpoints(Keyspace keyspace,
RingPosition pos) |
java.util.List<java.lang.String> |
getLiveNodes()
Retrieve the list of live nodes in the cluster, where "liveness" is
determined by the failure detector of the node being queried.
|
java.util.Set<java.net.InetAddress> |
getLiveRingMembers() |
java.util.Set<java.net.InetAddress> |
getLiveRingMembers(boolean excludeDeadStates) |
java.util.Map<java.lang.String,java.lang.String> |
getLoadMap()
Human-readable load value.
|
java.lang.String |
getLoadString()
Human-readable load value
|
java.lang.String |
getLocalHostId()
Retrieve this hosts unique ID
|
java.util.UUID |
getLocalHostUUID() |
java.util.Collection<Range<Token>> |
getLocalRanges(java.lang.String keyspaceName) |
java.util.Collection<Token> |
getLocalTokens() |
java.util.Map<java.lang.String,java.lang.String> |
getLoggingLevels()
get the runtime logging levels
|
java.util.List<java.lang.String> |
getMovingNodes()
Retrieve the list of nodes currently moving in the ring.
|
java.lang.Iterable<java.net.InetAddress> |
getNaturalAndPendingEndpoints(java.lang.String keyspaceName,
Token token)
Returns the endpoints currently responsible for storing the token plus pending ones
|
java.util.List<java.net.InetAddress> |
getNaturalEndpoints(java.lang.String keyspaceName,
java.nio.ByteBuffer key) |
java.util.List<java.net.InetAddress> |
getNaturalEndpoints(java.lang.String keyspaceName,
RingPosition pos)
This method returns the N endpoints that are responsible for storing the
specified key i.e for replication.
|
java.util.List<java.net.InetAddress> |
getNaturalEndpoints(java.lang.String keyspaceName,
java.lang.String cf,
java.lang.String key)
This method returns the N endpoints that are responsible for storing the
specified key i.e for replication.
|
java.util.List<java.lang.String> |
getNonSystemKeyspaces() |
java.lang.String |
getOperationMode()
get the operational mode (leaving, joining, normal, decommissioned, client)
|
java.util.Map<java.net.InetAddress,java.lang.Float> |
getOwnership()
given a list of tokens (representing the nodes in the cluster), returns
a mapping from "token -> %age of cluster owned by that token"
|
java.lang.String |
getPartitionerName()
Returns the cluster partitioner
|
java.util.Map<java.util.List<java.lang.String>,java.util.List<java.lang.String>> |
getPendingRangeToEndpointMap(java.lang.String keyspace)
Retrieve a map of pending ranges to endpoints that describe the ring topology
|
java.util.Collection<Range<Token>> |
getPrimaryRangeForEndpointWithinDC(java.lang.String keyspace,
java.net.InetAddress referenceEndpoint)
Get the "primary ranges" within local DC for the specified keyspace and endpoint.
|
java.util.Collection<Range<Token>> |
getPrimaryRanges(java.lang.String keyspace) |
java.util.Collection<Range<Token>> |
getPrimaryRangesForEndpoint(java.lang.String keyspace,
java.net.InetAddress ep)
Get the "primary ranges" for the specified keyspace and endpoint.
|
java.util.Collection<Range<Token>> |
getPrimaryRangesWithinDC(java.lang.String keyspace) |
java.util.Map<Range<Token>,java.util.List<java.net.InetAddress>> |
getRangeToAddressMap(java.lang.String keyspace) |
java.util.Map<Range<Token>,java.util.List<java.net.InetAddress>> |
getRangeToAddressMapInLocalDC(java.lang.String keyspace) |
java.util.Map<java.util.List<java.lang.String>,java.util.List<java.lang.String>> |
getRangeToEndpointMap(java.lang.String keyspace)
for a keyspace, return the ranges and corresponding listen addresses.
|
java.util.Map<java.util.List<java.lang.String>,java.util.List<java.lang.String>> |
getRangeToRpcaddressMap(java.lang.String keyspace)
for a keyspace, return the ranges and corresponding RPC addresses for a given keyspace.
|
java.lang.String |
getReleaseVersion()
Fetch a string representation of the Cassandra version.
|
java.lang.String |
getRemovalStatus()
Get the status of a token removal.
|
java.lang.String |
getRpcaddress(java.net.InetAddress endpoint)
Return the rpc address associated with an endpoint as a string.
|
java.lang.String |
getSavedCachesLocation()
Get location of the saved caches dir
|
java.lang.String |
getSchemaVersion()
Fetch a string representation of the current Schema version.
|
double |
getSeverity(java.net.InetAddress endpoint) |
java.util.Map<java.lang.String,javax.management.openmbean.TabularData> |
getSnapshotDetails()
Get the details of all the snapshot
|
java.util.List<Pair<Range<Token>,java.lang.Long>> |
getSplits(java.lang.String keyspaceName,
java.lang.String cfName,
Range<Token> range,
int keysPerSplit) |
int |
getStreamThroughputMbPerSec() |
Token.TokenFactory |
getTokenFactory() |
TokenMetadata |
getTokenMetadata() |
java.util.List<java.lang.String> |
getTokens()
Fetch string representations of the tokens for this node.
|
java.util.List<java.lang.String> |
getTokens(java.lang.String endpoint)
Fetch string representations of the tokens for a specified node.
|
java.util.Map<java.lang.String,java.lang.String> |
getTokenToEndpointMap()
Retrieve a map of tokens to endpoints, including the bootstrapping
ones.
|
int |
getTombstoneFailureThreshold()
Returns the threshold for abandoning queries with many tombstones
|
int |
getTombstoneWarnThreshold()
Returns the threshold for warning of queries with many tombstones
|
double |
getTraceProbability()
Returns the configured tracing probability.
|
java.util.List<java.lang.String> |
getUnreachableNodes()
Retrieve the list of unreachable nodes in the cluster, as determined
by this node's failure detector.
|
java.lang.Iterable<ColumnFamilyStore> |
getValidColumnFamilies(boolean allowIndexes,
boolean autoAddIndexes,
java.lang.String keyspaceName,
java.lang.String... cfNames) |
void |
gossipSnitchInfo() |
void |
initServer() |
void |
initServer(int delay) |
boolean |
isBootstrapMode() |
boolean |
isGossipRunning() |
boolean |
isIncrementalBackupsEnabled() |
boolean |
isInitialized() |
boolean |
isInShutdownHook() |
boolean |
isJoined() |
boolean |
isJoining() |
boolean |
isMoving() |
boolean |
isNativeTransportRunning() |
boolean |
isRPCServerRunning() |
boolean |
isSetupCompleted() |
boolean |
isStarting()
Returns whether the storage service is starting or not
|
void |
joinRing() |
void |
loadNewSSTables(java.lang.String ksName,
java.lang.String cfName)
#Load new SSTables to the given keyspace/table
|
void |
move(java.lang.String newToken) |
void |
onAlive(java.net.InetAddress endpoint,
EndpointState state) |
void |
onChange(java.net.InetAddress endpoint,
ApplicationState state,
VersionedValue value) |
void |
onDead(java.net.InetAddress endpoint,
EndpointState state) |
void |
onJoin(java.net.InetAddress endpoint,
EndpointState epState)
Use to inform interested parties about the change in the state
for specified endpoint
|
void |
onRemove(java.net.InetAddress endpoint) |
void |
onRestart(java.net.InetAddress endpoint,
EndpointState state)
Called whenever a node is restarted.
|
void |
populateTokenMetadata() |
java.util.Collection<Token> |
prepareReplacementInfo() |
void |
rebuild(java.lang.String sourceDc)
Initiate a process of streaming data for which we are responsible from other nodes.
|
void |
rebuildSecondaryIndex(java.lang.String ksName,
java.lang.String cfName,
java.lang.String... idxNames)
rebuild the specified indexes
|
void |
refreshSizeEstimates()
Forces refresh of values stored in system.size_estimates of all column families.
|
void |
register(IEndpointLifecycleSubscriber subscriber) |
void |
registerDaemon(CassandraDaemon daemon) |
void |
removeNode(java.lang.String hostIdString)
Remove a node that has died, attempting to restore the replica count.
|
void |
removeShutdownHook()
In the event of forceful termination we need to remove the shutdown hook to prevent hanging (OOM for instance)
|
int |
repairAsync(java.lang.String keyspace,
java.util.Map<java.lang.String,java.lang.String> repairSpec)
Invoke repair asynchronously.
|
void |
reportManualSeverity(double incr) |
void |
reportSeverity(double incr)
Increment about the known Compaction severity of the events in this node
|
void |
rescheduleFailedDeletions() |
void |
resetLocalSchema() |
boolean |
resumeBootstrap()
Resume bootstrap streaming when there is failed data streaming.
|
java.util.List<java.lang.String> |
sampleKeyRange()
#Return a List of Tokens representing a sample of keys across all ColumnFamilyStores.
|
int |
scrub(boolean disableSnapshot,
boolean skipCorrupted,
boolean checkData,
java.lang.String keyspaceName,
java.lang.String... tables) |
int |
scrub(boolean disableSnapshot,
boolean skipCorrupted,
java.lang.String keyspaceName,
java.lang.String... tables)
Scrub (deserialize + reserialize at the latest version, skipping bad rows if any) the given keyspace.
|
void |
setBatchSizeFailureThreshold(int threshold)
Sets the threshold for rejecting queries due to a large batch size
|
void |
setCompactionThroughputMbPerSec(int value) |
void |
setGossipTokens(java.util.Collection<Token> tokens) |
void |
setHintedHandoffThrottleInKB(int throttleInKB)
Sets the hinted handoff throttle in kb per second, per delivery thread.
|
void |
setIncrementalBackupsEnabled(boolean value) |
void |
setInterDCStreamThroughputMbPerSec(int value) |
void |
setLoggingLevel(java.lang.String classQualifier,
java.lang.String rawLevel)
set the logging level at runtime
If both classQualifer and level are empty/null, it will reload the configuration to reset. If classQualifer is not empty but level is empty/null, it will set the level to null for the defined classQualifer If level cannot be parsed, then the level will be defaulted to DEBUG The logback configuration should have < jmxConfigurator /> set |
IPartitioner |
setPartitionerUnsafe(IPartitioner newPartitioner) |
void |
setRpcReady(boolean value) |
void |
setStreamThroughputMbPerSec(int value) |
void |
setTokens(java.util.Collection<Token> tokens)
This method updates the local token on disk
|
void |
setTombstoneFailureThreshold(int threshold)
Sets the threshold for abandoning queries with many tombstones
|
void |
setTombstoneWarnThreshold(int threshold)
Sets the threshold for warning queries with many tombstones
|
void |
setTraceProbability(double probability)
Enables/Disables tracing for the whole system.
|
void |
startGossiping() |
void |
startNativeTransport() |
void |
startRPCServer() |
void |
stopClient() |
void |
stopDaemon() |
void |
stopGossiping() |
void |
stopNativeTransport() |
void |
stopRPCServer() |
void |
stopTransports() |
void |
takeMultipleTableSnapshot(java.lang.String tag,
java.lang.String... tableList)
Takes the snapshot of a multiple column family from different keyspaces.
|
void |
takeSnapshot(java.lang.String tag,
java.lang.String... keyspaceNames)
Takes the snapshot for the given keyspaces.
|
void |
takeTableSnapshot(java.lang.String keyspaceName,
java.lang.String tableName,
java.lang.String tag)
Takes the snapshot of a specific table.
|
long |
trueSnapshotsSize()
Get the true size taken by all snapshots across all keyspaces.
|
void |
truncate(java.lang.String keyspace,
java.lang.String table)
Truncates (deletes) the given table from the provided keyspace.
|
void |
unregister(IEndpointLifecycleSubscriber subscriber) |
void |
unsafeInitialize() |
void |
updateSnitch(java.lang.String epSnitchClassName,
java.lang.Boolean dynamic,
java.lang.Integer dynamicUpdateInterval,
java.lang.Integer dynamicResetInterval,
java.lang.Double dynamicBadnessThreshold)
Change endpointsnitch class and dynamic-ness (and dynamic attributes) at runtime
|
void |
updateTopology() |
void |
updateTopology(java.net.InetAddress endpoint) |
int |
upgradeSSTables(java.lang.String keyspaceName,
boolean excludeCurrentVersion,
java.lang.String... tableNames)
Rewrite all sstables to the latest version.
|
int |
verify(boolean extendedVerify,
java.lang.String keyspaceName,
java.lang.String... tableNames)
Verify (checksums of) the given keyspace.
|
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotificationpublic static final int RING_DELAY
public volatile VersionedValue.VersionedValueFactory valueFactory
public static final StorageService instance
public boolean isInShutdownHook()
public java.util.Collection<Range<Token>> getLocalRanges(java.lang.String keyspaceName)
public java.util.Collection<Range<Token>> getPrimaryRanges(java.lang.String keyspace)
public java.util.Collection<Range<Token>> getPrimaryRangesWithinDC(java.lang.String keyspace)
public void setTokens(java.util.Collection<Token> tokens)
public void setGossipTokens(java.util.Collection<Token> tokens)
public void registerDaemon(CassandraDaemon daemon)
public void register(IEndpointLifecycleSubscriber subscriber)
public void unregister(IEndpointLifecycleSubscriber subscriber)
public void stopGossiping()
stopGossiping in interface StorageServiceMBeanpublic void startGossiping()
startGossiping in interface StorageServiceMBeanpublic boolean isGossipRunning()
isGossipRunning in interface StorageServiceMBeanpublic void startRPCServer()
startRPCServer in interface StorageServiceMBeanpublic void stopRPCServer()
stopRPCServer in interface StorageServiceMBeanpublic boolean isRPCServerRunning()
isRPCServerRunning in interface StorageServiceMBeanpublic void startNativeTransport()
startNativeTransport in interface StorageServiceMBeanpublic void stopNativeTransport()
stopNativeTransport in interface StorageServiceMBeanpublic boolean isNativeTransportRunning()
isNativeTransportRunning in interface StorageServiceMBeanpublic void stopTransports()
public void stopClient()
public boolean isInitialized()
isInitialized in interface StorageServiceMBeanpublic boolean isSetupCompleted()
public void stopDaemon()
stopDaemon in interface StorageServiceMBeanpublic java.util.Collection<Token> prepareReplacementInfo() throws ConfigurationException
ConfigurationExceptionpublic void checkForEndpointCollision()
throws ConfigurationException
ConfigurationExceptionpublic void unsafeInitialize()
throws ConfigurationException
ConfigurationExceptionpublic void populateTokenMetadata()
public void initServer()
throws ConfigurationException
ConfigurationExceptionpublic void initServer(int delay)
throws ConfigurationException
ConfigurationExceptionpublic void removeShutdownHook()
public void gossipSnitchInfo()
public void joinRing()
throws java.io.IOException
joinRing in interface StorageServiceMBeanjava.io.IOExceptionpublic boolean isJoined()
isJoined in interface StorageServiceMBeanpublic void rebuild(java.lang.String sourceDc)
StorageServiceMBeanrebuild in interface StorageServiceMBeansourceDc - Name of DC from which to select sources for streaming or null to pick any nodepublic void setStreamThroughputMbPerSec(int value)
setStreamThroughputMbPerSec in interface StorageServiceMBeanpublic int getStreamThroughputMbPerSec()
getStreamThroughputMbPerSec in interface StorageServiceMBeanpublic void setInterDCStreamThroughputMbPerSec(int value)
setInterDCStreamThroughputMbPerSec in interface StorageServiceMBeanpublic int getInterDCStreamThroughputMbPerSec()
getInterDCStreamThroughputMbPerSec in interface StorageServiceMBeanpublic int getCompactionThroughputMbPerSec()
getCompactionThroughputMbPerSec in interface StorageServiceMBeanpublic void setCompactionThroughputMbPerSec(int value)
setCompactionThroughputMbPerSec in interface StorageServiceMBeanpublic boolean isIncrementalBackupsEnabled()
isIncrementalBackupsEnabled in interface StorageServiceMBeanpublic void setIncrementalBackupsEnabled(boolean value)
setIncrementalBackupsEnabled in interface StorageServiceMBeanpublic boolean resumeBootstrap()
StorageServiceMBeanresumeBootstrap in interface StorageServiceMBeanpublic boolean isBootstrapMode()
public TokenMetadata getTokenMetadata()
public void reportSeverity(double incr)
public void reportManualSeverity(double incr)
public double getSeverity(java.net.InetAddress endpoint)
public java.util.Map<java.util.List<java.lang.String>,java.util.List<java.lang.String>> getRangeToEndpointMap(java.lang.String keyspace)
getRangeToEndpointMap in interface StorageServiceMBeankeyspace - public java.lang.String getRpcaddress(java.net.InetAddress endpoint)
endpoint - The endpoint to get rpc address forpublic java.util.Map<java.util.List<java.lang.String>,java.util.List<java.lang.String>> getRangeToRpcaddressMap(java.lang.String keyspace)
getRangeToRpcaddressMap in interface StorageServiceMBeankeyspace - public java.util.Map<java.util.List<java.lang.String>,java.util.List<java.lang.String>> getPendingRangeToEndpointMap(java.lang.String keyspace)
StorageServiceMBeangetPendingRangeToEndpointMap in interface StorageServiceMBeankeyspace - the keyspace to get the pending range map for.public java.util.Map<Range<Token>,java.util.List<java.net.InetAddress>> getRangeToAddressMap(java.lang.String keyspace)
public java.util.Map<Range<Token>,java.util.List<java.net.InetAddress>> getRangeToAddressMapInLocalDC(java.lang.String keyspace)
public java.util.List<java.lang.String> describeRingJMX(java.lang.String keyspace)
throws java.io.IOException
describeRing(String) but converts TokenRange to the String for JMX compatibilitydescribeRingJMX in interface StorageServiceMBeankeyspace - The keyspace to fetch information aboutjava.io.IOExceptionpublic java.util.List<TokenRange> describeRing(java.lang.String keyspace) throws InvalidRequestException
keyspace - The keyspace to fetch information aboutInvalidRequestException - if there is no ring information available about keyspacepublic java.util.List<TokenRange> describeLocalRing(java.lang.String keyspace) throws InvalidRequestException
describeRing(String) but considers only the part of the ring formed by nodes in the local DC.InvalidRequestExceptionpublic java.util.Map<java.lang.String,java.lang.String> getTokenToEndpointMap()
StorageServiceMBeangetTokenToEndpointMap in interface StorageServiceMBeanpublic java.lang.String getLocalHostId()
StorageServiceMBeangetLocalHostId in interface StorageServiceMBeanpublic java.util.UUID getLocalHostUUID()
public java.util.Map<java.lang.String,java.lang.String> getHostIdMap()
StorageServiceMBeangetHostIdMap in interface StorageServiceMBeanpublic java.util.Map<java.lang.String,java.lang.String> getEndpointToHostId()
StorageServiceMBeangetEndpointToHostId in interface StorageServiceMBeanpublic java.util.Map<java.lang.String,java.lang.String> getHostIdToEndpoint()
StorageServiceMBeangetHostIdToEndpoint in interface StorageServiceMBeanpublic void beforeChange(java.net.InetAddress endpoint,
EndpointState currentState,
ApplicationState newStateKey,
VersionedValue newValue)
beforeChange in interface IEndpointStateChangeSubscriberpublic void onChange(java.net.InetAddress endpoint,
ApplicationState state,
VersionedValue value)
onChange in interface IEndpointStateChangeSubscriberpublic void updateTopology(java.net.InetAddress endpoint)
public void updateTopology()
public void setRpcReady(boolean value)
protected void addExpireTimeIfFound(java.net.InetAddress endpoint,
long expireTime)
protected long extractExpireTime(java.lang.String[] pieces)
public void onJoin(java.net.InetAddress endpoint,
EndpointState epState)
IEndpointStateChangeSubscriberonJoin in interface IEndpointStateChangeSubscriberendpoint - endpoint for which the state change occurred.epState - state that actually changed for the above endpoint.public void onAlive(java.net.InetAddress endpoint,
EndpointState state)
onAlive in interface IEndpointStateChangeSubscriberpublic void onRemove(java.net.InetAddress endpoint)
onRemove in interface IEndpointStateChangeSubscriberpublic void onDead(java.net.InetAddress endpoint,
EndpointState state)
onDead in interface IEndpointStateChangeSubscriberpublic void onRestart(java.net.InetAddress endpoint,
EndpointState state)
IEndpointStateChangeSubscriberstate.isAlive() == false
as state is from before the restarted node is marked up.onRestart in interface IEndpointStateChangeSubscriberpublic java.lang.String getLoadString()
StorageServiceMBeangetLoadString in interface StorageServiceMBeanpublic java.util.Map<java.lang.String,java.lang.String> getLoadMap()
StorageServiceMBeangetLoadMap in interface StorageServiceMBeanpublic final void deliverHints(java.lang.String host)
throws java.net.UnknownHostException
deliverHints in interface StorageServiceMBeanjava.net.UnknownHostExceptionpublic java.util.Collection<Token> getLocalTokens()
@Nullable public java.net.InetAddress getEndpointForHostId(java.util.UUID hostId)
@Nullable public java.util.UUID getHostIdForEndpoint(java.net.InetAddress address)
public java.util.List<java.lang.String> getTokens()
StorageServiceMBeangetTokens in interface StorageServiceMBeanpublic java.util.List<java.lang.String> getTokens(java.lang.String endpoint)
throws java.net.UnknownHostException
StorageServiceMBeangetTokens in interface StorageServiceMBeanendpoint - string representation of an nodejava.net.UnknownHostExceptionpublic java.lang.String getReleaseVersion()
StorageServiceMBeangetReleaseVersion in interface StorageServiceMBeanpublic java.lang.String getSchemaVersion()
StorageServiceMBeangetSchemaVersion in interface StorageServiceMBeanpublic java.util.List<java.lang.String> getLeavingNodes()
StorageServiceMBeangetLeavingNodes in interface StorageServiceMBeanpublic java.util.List<java.lang.String> getMovingNodes()
StorageServiceMBeangetMovingNodes in interface StorageServiceMBeanpublic java.util.List<java.lang.String> getJoiningNodes()
StorageServiceMBeangetJoiningNodes in interface StorageServiceMBeanpublic java.util.List<java.lang.String> getLiveNodes()
StorageServiceMBeangetLiveNodes in interface StorageServiceMBeanpublic java.util.Set<java.net.InetAddress> getLiveRingMembers()
public java.util.Set<java.net.InetAddress> getLiveRingMembers(boolean excludeDeadStates)
public java.util.List<java.lang.String> getUnreachableNodes()
StorageServiceMBeangetUnreachableNodes in interface StorageServiceMBeanpublic java.lang.String[] getAllDataFileLocations()
StorageServiceMBeangetAllDataFileLocations in interface StorageServiceMBeanpublic java.lang.String getCommitLogLocation()
StorageServiceMBeangetCommitLogLocation in interface StorageServiceMBeanpublic java.lang.String getSavedCachesLocation()
StorageServiceMBeangetSavedCachesLocation in interface StorageServiceMBeanpublic int getCurrentGenerationNumber()
StorageServiceMBeangetCurrentGenerationNumber in interface StorageServiceMBeanpublic int forceKeyspaceCleanup(java.lang.String keyspaceName,
java.lang.String... tables)
throws java.io.IOException,
java.util.concurrent.ExecutionException,
java.lang.InterruptedException
StorageServiceMBeanforceKeyspaceCleanup in interface StorageServiceMBeanjava.io.IOExceptionjava.util.concurrent.ExecutionExceptionjava.lang.InterruptedExceptionpublic int scrub(boolean disableSnapshot,
boolean skipCorrupted,
java.lang.String keyspaceName,
java.lang.String... tables)
throws java.io.IOException,
java.util.concurrent.ExecutionException,
java.lang.InterruptedException
StorageServiceMBeanscrub in interface StorageServiceMBeanjava.io.IOExceptionjava.util.concurrent.ExecutionExceptionjava.lang.InterruptedExceptionpublic int scrub(boolean disableSnapshot,
boolean skipCorrupted,
boolean checkData,
java.lang.String keyspaceName,
java.lang.String... tables)
throws java.io.IOException,
java.util.concurrent.ExecutionException,
java.lang.InterruptedException
scrub in interface StorageServiceMBeanjava.io.IOExceptionjava.util.concurrent.ExecutionExceptionjava.lang.InterruptedExceptionpublic int verify(boolean extendedVerify,
java.lang.String keyspaceName,
java.lang.String... tableNames)
throws java.io.IOException,
java.util.concurrent.ExecutionException,
java.lang.InterruptedException
StorageServiceMBeanverify in interface StorageServiceMBeanjava.io.IOExceptionjava.util.concurrent.ExecutionExceptionjava.lang.InterruptedExceptionpublic int upgradeSSTables(java.lang.String keyspaceName,
boolean excludeCurrentVersion,
java.lang.String... tableNames)
throws java.io.IOException,
java.util.concurrent.ExecutionException,
java.lang.InterruptedException
StorageServiceMBeanupgradeSSTables in interface StorageServiceMBeanjava.io.IOExceptionjava.util.concurrent.ExecutionExceptionjava.lang.InterruptedExceptionpublic void forceKeyspaceCompaction(boolean splitOutput,
java.lang.String keyspaceName,
java.lang.String... tableNames)
throws java.io.IOException,
java.util.concurrent.ExecutionException,
java.lang.InterruptedException
StorageServiceMBeanforceKeyspaceCompaction in interface StorageServiceMBeanjava.io.IOExceptionjava.util.concurrent.ExecutionExceptionjava.lang.InterruptedExceptionpublic void takeSnapshot(java.lang.String tag,
java.lang.String... keyspaceNames)
throws java.io.IOException
takeSnapshot in interface StorageServiceMBeantag - the tag given to the snapshot; may not be null or emptykeyspaceNames - the names of the keyspaces to snapshot; empty means "all."java.io.IOExceptionpublic void takeTableSnapshot(java.lang.String keyspaceName,
java.lang.String tableName,
java.lang.String tag)
throws java.io.IOException
takeTableSnapshot in interface StorageServiceMBeankeyspaceName - the keyspace which holds the specified tabletableName - the table to snapshottag - the tag given to the snapshot; may not be null or emptyjava.io.IOExceptionpublic void takeMultipleTableSnapshot(java.lang.String tag,
java.lang.String... tableList)
throws java.io.IOException
takeMultipleTableSnapshot in interface StorageServiceMBeantag - the tag given to the snapshot; may not be null or emptytableList - list of tables from different keyspace in the form of ks1.cf1 ks2.cf2java.io.IOExceptionpublic void clearSnapshot(java.lang.String tag,
java.lang.String... keyspaceNames)
throws java.io.IOException
clearSnapshot in interface StorageServiceMBeanjava.io.IOExceptionpublic java.util.Map<java.lang.String,javax.management.openmbean.TabularData> getSnapshotDetails()
StorageServiceMBeangetSnapshotDetails in interface StorageServiceMBeanpublic long trueSnapshotsSize()
StorageServiceMBeantrueSnapshotsSize in interface StorageServiceMBeanpublic void refreshSizeEstimates()
throws java.util.concurrent.ExecutionException
StorageServiceMBeanrefreshSizeEstimates in interface StorageServiceMBeanjava.util.concurrent.ExecutionExceptionpublic java.lang.Iterable<ColumnFamilyStore> getValidColumnFamilies(boolean allowIndexes, boolean autoAddIndexes, java.lang.String keyspaceName, java.lang.String... cfNames) throws java.io.IOException
allowIndexes - Allow index CF names to be passed inautoAddIndexes - Automatically add secondary indexes if a CF has themkeyspaceName - keyspacecfNames - CFsjava.lang.IllegalArgumentException - when given CF name does not existjava.io.IOExceptionpublic void forceKeyspaceFlush(java.lang.String keyspaceName,
java.lang.String... tableNames)
throws java.io.IOException
forceKeyspaceFlush in interface StorageServiceMBeankeyspaceName - tableNames - java.io.IOExceptionpublic int repairAsync(java.lang.String keyspace,
java.util.Map<java.lang.String,java.lang.String> repairSpec)
StorageServiceMBeanrepairAsync in interface StorageServiceMBeankeyspace - Keyspace name to repair. Should not be null.repairSpec - repair option.@Deprecated
public int forceRepairAsync(java.lang.String keyspace,
boolean isSequential,
java.util.Collection<java.lang.String> dataCenters,
java.util.Collection<java.lang.String> hosts,
boolean primaryRange,
boolean fullRepair,
java.lang.String... tableNames)
forceRepairAsync in interface StorageServiceMBean@Deprecated
public int forceRepairAsync(java.lang.String keyspace,
int parallelismDegree,
java.util.Collection<java.lang.String> dataCenters,
java.util.Collection<java.lang.String> hosts,
boolean primaryRange,
boolean fullRepair,
java.lang.String... tableNames)
StorageServiceMBeanforceRepairAsync in interface StorageServiceMBeanparallelismDegree - 0: sequential, 1: parallel, 2: DC parallelpublic int forceRepairAsync(java.lang.String keyspace,
boolean isSequential,
boolean isLocal,
boolean primaryRange,
boolean fullRepair,
java.lang.String... tableNames)
forceRepairAsync in interface StorageServiceMBeanpublic int forceRepairRangeAsync(java.lang.String beginToken,
java.lang.String endToken,
java.lang.String keyspaceName,
boolean isSequential,
java.util.Collection<java.lang.String> dataCenters,
java.util.Collection<java.lang.String> hosts,
boolean fullRepair,
java.lang.String... tableNames)
forceRepairRangeAsync in interface StorageServiceMBeanpublic int forceRepairRangeAsync(java.lang.String beginToken,
java.lang.String endToken,
java.lang.String keyspaceName,
int parallelismDegree,
java.util.Collection<java.lang.String> dataCenters,
java.util.Collection<java.lang.String> hosts,
boolean fullRepair,
java.lang.String... tableNames)
StorageServiceMBeanforceRepairRangeAsync in interface StorageServiceMBeanparallelismDegree - 0: sequential, 1: parallel, 2: DC parallelpublic int forceRepairRangeAsync(java.lang.String beginToken,
java.lang.String endToken,
java.lang.String keyspaceName,
boolean isSequential,
boolean isLocal,
boolean fullRepair,
java.lang.String... tableNames)
forceRepairRangeAsync in interface StorageServiceMBeanpublic Token.TokenFactory getTokenFactory()
public int forceRepairAsync(java.lang.String keyspace,
RepairOption options)
public void forceTerminateAllRepairSessions()
forceTerminateAllRepairSessions in interface StorageServiceMBeanpublic java.util.Collection<Range<Token>> getPrimaryRangesForEndpoint(java.lang.String keyspace, java.net.InetAddress ep)
AbstractReplicationStrategy.calculateNaturalEndpoints(org.apache.cassandra.dht.Token, org.apache.cassandra.locator.TokenMetadata).keyspace - Keyspace name to check primary rangesep - endpoint we are interested in.public java.util.Collection<Range<Token>> getPrimaryRangeForEndpointWithinDC(java.lang.String keyspace, java.net.InetAddress referenceEndpoint)
keyspace - Keyspace name to check primary rangesreferenceEndpoint - endpoint we are interested in.getPrimaryRangesForEndpoint(String, java.net.InetAddress)public java.util.List<Range<Token>> getAllRanges(java.util.List<Token> sortedTokens)
public java.util.List<java.net.InetAddress> getNaturalEndpoints(java.lang.String keyspaceName,
java.lang.String cf,
java.lang.String key)
getNaturalEndpoints in interface StorageServiceMBeankeyspaceName - keyspace name also known as keyspacecf - Column family namekey - key for which we need to find the endpointpublic java.util.List<java.net.InetAddress> getNaturalEndpoints(java.lang.String keyspaceName,
java.nio.ByteBuffer key)
getNaturalEndpoints in interface StorageServiceMBeanpublic java.util.List<java.net.InetAddress> getNaturalEndpoints(java.lang.String keyspaceName,
RingPosition pos)
keyspaceName - keyspace name also known as keyspacepos - position for which we need to find the endpointpublic java.lang.Iterable<java.net.InetAddress> getNaturalAndPendingEndpoints(java.lang.String keyspaceName,
Token token)
public java.util.List<java.net.InetAddress> getLiveNaturalEndpoints(Keyspace keyspace, java.nio.ByteBuffer key)
keyspace - keyspace name also known as keyspacekey - key for which we need to find the endpointpublic java.util.List<java.net.InetAddress> getLiveNaturalEndpoints(Keyspace keyspace, RingPosition pos)
public void setLoggingLevel(java.lang.String classQualifier,
java.lang.String rawLevel)
throws java.lang.Exception
StorageServiceMBeansetLoggingLevel in interface StorageServiceMBeanclassQualifier - The logger's classQualiferrawLevel - The log leveljava.lang.ExceptionLevel.toLevel(String)public java.util.Map<java.lang.String,java.lang.String> getLoggingLevels()
StorageServiceMBeangetLoggingLevels in interface StorageServiceMBeanpublic java.util.List<Pair<Range<Token>,java.lang.Long>> getSplits(java.lang.String keyspaceName, java.lang.String cfName, Range<Token> range, int keysPerSplit)
public void decommission()
throws java.lang.InterruptedException
StorageServiceMBeandecommission in interface StorageServiceMBeanjava.lang.InterruptedExceptionpublic void move(java.lang.String newToken)
throws java.io.IOException
move in interface StorageServiceMBeannewToken - token to move this node to.
This node will unload its data onto its neighbors, and bootstrap to the new token.java.io.IOExceptionpublic java.lang.String getRemovalStatus()
getRemovalStatus in interface StorageServiceMBeanpublic void forceRemoveCompletion()
forceRemoveCompletion in interface StorageServiceMBeanpublic void removeNode(java.lang.String hostIdString)
removeNode in interface StorageServiceMBeanhostIdString - token for the nodepublic void confirmReplication(java.net.InetAddress node)
public java.lang.String getOperationMode()
StorageServiceMBeangetOperationMode in interface StorageServiceMBeanpublic boolean isStarting()
StorageServiceMBeanisStarting in interface StorageServiceMBeanpublic boolean isMoving()
public boolean isJoining()
public java.lang.String getDrainProgress()
StorageServiceMBeangetDrainProgress in interface StorageServiceMBeanpublic void drain()
throws java.io.IOException,
java.lang.InterruptedException,
java.util.concurrent.ExecutionException
drain in interface StorageServiceMBeanjava.io.IOExceptionjava.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionpublic IPartitioner setPartitionerUnsafe(IPartitioner newPartitioner)
public void truncate(java.lang.String keyspace,
java.lang.String table)
throws java.util.concurrent.TimeoutException,
java.io.IOException
StorageServiceMBeantruncate in interface StorageServiceMBeankeyspace - The keyspace to delete fromtable - The column family to delete data from.java.util.concurrent.TimeoutExceptionjava.io.IOExceptionpublic java.util.Map<java.net.InetAddress,java.lang.Float> getOwnership()
StorageServiceMBeangetOwnership in interface StorageServiceMBeanpublic java.util.LinkedHashMap<java.net.InetAddress,java.lang.Float> effectiveOwnership(java.lang.String keyspace)
throws java.lang.IllegalStateException
effectiveOwnership in interface StorageServiceMBeanjava.lang.IllegalStateException - when node is not configured properly.public java.util.List<java.lang.String> getKeyspaces()
getKeyspaces in interface StorageServiceMBeanpublic java.util.List<java.lang.String> getNonSystemKeyspaces()
getNonSystemKeyspaces in interface StorageServiceMBeanpublic void updateSnitch(java.lang.String epSnitchClassName,
java.lang.Boolean dynamic,
java.lang.Integer dynamicUpdateInterval,
java.lang.Integer dynamicResetInterval,
java.lang.Double dynamicBadnessThreshold)
throws java.lang.ClassNotFoundException
StorageServiceMBeanupdateSnitch in interface StorageServiceMBeanepSnitchClassName - the canonical path name for a class implementing IEndpointSnitchdynamic - boolean that decides whether dynamicsnitch is used or notdynamicUpdateInterval - integer, in ms (default 100)dynamicResetInterval - integer, in ms (default 600,000)dynamicBadnessThreshold - double, (default 0.0)java.lang.ClassNotFoundExceptionpublic Pair<java.util.Set<Range<Token>>,java.util.Set<Range<Token>>> calculateStreamAndFetchRanges(java.util.Collection<Range<Token>> current, java.util.Collection<Range<Token>> updated)
current - collection of the ranges by current tokenupdated - collection of the ranges after token is changedpublic void bulkLoad(java.lang.String directory)
StorageServiceMBeanbulkLoad in interface StorageServiceMBeanpublic java.lang.String bulkLoadAsync(java.lang.String directory)
StorageServiceMBeanbulkLoadAsync in interface StorageServiceMBeanpublic void rescheduleFailedDeletions()
rescheduleFailedDeletions in interface StorageServiceMBeanpublic void loadNewSSTables(java.lang.String ksName,
java.lang.String cfName)
loadNewSSTables in interface StorageServiceMBeanksName - The parent keyspace namepublic java.util.List<java.lang.String> sampleKeyRange()
sampleKeyRange in interface StorageServiceMBeanpublic void rebuildSecondaryIndex(java.lang.String ksName,
java.lang.String cfName,
java.lang.String... idxNames)
StorageServiceMBeanrebuildSecondaryIndex in interface StorageServiceMBeanpublic void resetLocalSchema()
throws java.io.IOException
resetLocalSchema in interface StorageServiceMBeanjava.io.IOExceptionpublic void setTraceProbability(double probability)
StorageServiceMBeansetTraceProbability in interface StorageServiceMBeanprobability - ]0,1[ will enable tracing on a partial number of requests with the provided probability. 0 will
disable tracing and 1 will enable tracing for all requests (which mich severely cripple the system)public double getTraceProbability()
StorageServiceMBeangetTraceProbability in interface StorageServiceMBeanpublic void disableAutoCompaction(java.lang.String ks,
java.lang.String... tables)
throws java.io.IOException
disableAutoCompaction in interface StorageServiceMBeanjava.io.IOExceptionpublic void enableAutoCompaction(java.lang.String ks,
java.lang.String... tables)
throws java.io.IOException
enableAutoCompaction in interface StorageServiceMBeanjava.io.IOExceptionpublic java.lang.String getClusterName()
getClusterName in interface StorageServiceMBeanpublic java.lang.String getPartitionerName()
getPartitionerName in interface StorageServiceMBeanpublic int getTombstoneWarnThreshold()
StorageServiceMBeangetTombstoneWarnThreshold in interface StorageServiceMBeanpublic void setTombstoneWarnThreshold(int threshold)
StorageServiceMBeansetTombstoneWarnThreshold in interface StorageServiceMBeanpublic int getTombstoneFailureThreshold()
StorageServiceMBeangetTombstoneFailureThreshold in interface StorageServiceMBeanpublic void setTombstoneFailureThreshold(int threshold)
StorageServiceMBeansetTombstoneFailureThreshold in interface StorageServiceMBeanpublic int getBatchSizeFailureThreshold()
StorageServiceMBeangetBatchSizeFailureThreshold in interface StorageServiceMBeanpublic void setBatchSizeFailureThreshold(int threshold)
StorageServiceMBeansetBatchSizeFailureThreshold in interface StorageServiceMBeanpublic void setHintedHandoffThrottleInKB(int throttleInKB)
StorageServiceMBeansetHintedHandoffThrottleInKB in interface StorageServiceMBeanCopyright © 2016 The Apache Software Foundation