org.apache.cassandra.service
Interface StorageServiceMBean

All Known Implementing Classes:
StorageService

public interface StorageServiceMBean


Method Summary
 void clearSnapshot()
          Remove all the existing snapshots.
 void decommission()
          transfer this node's data to other machines and remove it from service.
 void deliverHints(java.lang.String host)
          force hint delivery to an endpoint
 void drain()
          makes node unavailable for writes, flushes memtables and replays commitlog.
 java.lang.String exportSchema()
          Introduced in 0.7 to allow schema yaml to be exported.
 void forceRemoveCompletion()
          Force a remove operation to finish.
 void forceTableCleanup(java.lang.String tableName, java.lang.String... columnFamilies)
          Trigger a cleanup of keys on a single keyspace
 void forceTableCompaction(java.lang.String tableName, java.lang.String... columnFamilies)
          Forces major compaction of a single keyspace
 void forceTableFlush(java.lang.String tableName, java.lang.String... columnFamilies)
          Flush all memtables for the given column families, or all columnfamilies for the given table if none are explicitly listed.
 void forceTableRepair(java.lang.String tableName, java.lang.String... columnFamilies)
          Triggers proactive repair for given column families, or all columnfamilies for the given table if none are explicitly listed.
 int getCurrentGenerationNumber()
          Return the generation value for this node.
 java.lang.String getDrainProgress()
          get the progress of a drain operation
 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.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.
 double getLoad()
          Numeric load value.
 java.util.Map<java.lang.String,java.lang.String> getLoadMap()
          Human-readable load value.
 java.lang.String getLoadString()
          Human-readable load value
 java.util.List<java.net.InetAddress> getNaturalEndpoints(java.lang.String table, byte[] key)
          This method returns the N endpoints that are responsible for storing the specified key i.e for replication.
 java.lang.String getOperationMode()
          get the operational mode (leaving, joining, normal, decommissioned, client)
 java.util.Map<Token,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.util.Map<Range,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.Map<Range,java.util.List<java.lang.String>> getRangeToEndpointMap(java.lang.String keyspace)
          Retrieve a map of range to end points that describe the ring topology of a Cassandra cluster.
 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 getToken()
          Fetch a string representation of the token.
 java.util.Map<Token,java.lang.String> getTokenToEndpointMap()
          Retrieve a map of tokens to endpoints, including the bootstrapping ones.
 java.util.List<java.lang.String> getUnreachableNodes()
          Retrieve the list of unreachable nodes in the cluster, as determined by this node's failure detector.
 void loadBalance()
          This node will unload its data onto its neighbors, and bootstrap to share the range of the most-loaded node in the ring.
 void loadSchemaFromYAML()
          Introduced in 0.7 to allow nodes to load their existing yaml defined schemas.
 void move(java.lang.String newToken)
           
 void removeToken(java.lang.String token)
          removeToken removes token (and all data associated with enpoint that had it) from the ring
 void saveCaches()
          save row and key caches
 void setLog4jLevel(java.lang.String classQualifier, java.lang.String level)
          set the logging level at runtime
 void takeAllSnapshot(java.lang.String tag)
          Takes a snapshot for every table.
 void takeSnapshot(java.lang.String tableName, java.lang.String tag)
          Takes the snapshot for a given table.
 void truncate(java.lang.String keyspace, java.lang.String columnFamily)
          Truncates (deletes) the given columnFamily from the provided keyspace.
 

Method Detail

getLiveNodes

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.

Returns:
set of IP addresses, as Strings

getUnreachableNodes

java.util.List<java.lang.String> getUnreachableNodes()
Retrieve the list of unreachable nodes in the cluster, as determined by this node's failure detector.

Returns:
set of IP addresses, as Strings

getJoiningNodes

java.util.List<java.lang.String> getJoiningNodes()
Retrieve the list of nodes currently bootstrapping into the ring.

Returns:
set of IP addresses, as Strings

getLeavingNodes

java.util.List<java.lang.String> getLeavingNodes()
Retrieve the list of nodes currently leaving the ring.

Returns:
set of IP addresses, as Strings

getToken

java.lang.String getToken()
Fetch a string representation of the token.

Returns:
a string token

getReleaseVersion

java.lang.String getReleaseVersion()
Fetch a string representation of the Cassandra version.

Returns:
A string representation of the Cassandra version.

getRangeToEndpointMap

java.util.Map<Range,java.util.List<java.lang.String>> getRangeToEndpointMap(java.lang.String keyspace)
Retrieve a map of range to end points that describe the ring topology of a Cassandra cluster.

Returns:
mapping of ranges to end points

getPendingRangeToEndpointMap

java.util.Map<Range,java.util.List<java.lang.String>> getPendingRangeToEndpointMap(java.lang.String keyspace)
Retrieve a map of pending ranges to endpoints that describe the ring topology

Parameters:
keyspace - the keyspace to get the pending range map for.
Returns:
a map of pending ranges to endpoints

getTokenToEndpointMap

java.util.Map<Token,java.lang.String> getTokenToEndpointMap()
Retrieve a map of tokens to endpoints, including the bootstrapping ones.

Returns:
a map of tokens to endpoints

getLoad

double getLoad()
Numeric load value.


getLoadString

java.lang.String getLoadString()
Human-readable load value


getLoadMap

java.util.Map<java.lang.String,java.lang.String> getLoadMap()
Human-readable load value. Keys are IP addresses.


getCurrentGenerationNumber

int getCurrentGenerationNumber()
Return the generation value for this node.

Returns:
generation number

getNaturalEndpoints

java.util.List<java.net.InetAddress> getNaturalEndpoints(java.lang.String table,
                                                         byte[] key)
This method returns the N endpoints that are responsible for storing the specified key i.e for replication.

Parameters:
key - - key for which we need to find the endpoint return value - the endpoint responsible for this key

takeSnapshot

void takeSnapshot(java.lang.String tableName,
                  java.lang.String tag)
                  throws java.io.IOException
Takes the snapshot for a given table.

Parameters:
tableName - the name of the table.
tag - the tag given to the snapshot (null is permissible)
Throws:
java.io.IOException

takeAllSnapshot

void takeAllSnapshot(java.lang.String tag)
                     throws java.io.IOException
Takes a snapshot for every table.

Parameters:
tag - the tag given to the snapshot (null is permissible)
Throws:
java.io.IOException

clearSnapshot

void clearSnapshot()
                   throws java.io.IOException
Remove all the existing snapshots.

Throws:
java.io.IOException

forceTableCompaction

void forceTableCompaction(java.lang.String tableName,
                          java.lang.String... columnFamilies)
                          throws java.io.IOException,
                                 java.util.concurrent.ExecutionException,
                                 java.lang.InterruptedException
Forces major compaction of a single keyspace

Throws:
java.io.IOException
java.util.concurrent.ExecutionException
java.lang.InterruptedException

forceTableCleanup

void forceTableCleanup(java.lang.String tableName,
                       java.lang.String... columnFamilies)
                       throws java.io.IOException,
                              java.util.concurrent.ExecutionException,
                              java.lang.InterruptedException
Trigger a cleanup of keys on a single keyspace

Throws:
java.io.IOException
java.util.concurrent.ExecutionException
java.lang.InterruptedException

forceTableFlush

void forceTableFlush(java.lang.String tableName,
                     java.lang.String... columnFamilies)
                     throws java.io.IOException,
                            java.util.concurrent.ExecutionException,
                            java.lang.InterruptedException
Flush all memtables for the given column families, or all columnfamilies for the given table if none are explicitly listed.

Parameters:
tableName -
columnFamilies -
Throws:
java.io.IOException
java.util.concurrent.ExecutionException
java.lang.InterruptedException

forceTableRepair

void forceTableRepair(java.lang.String tableName,
                      java.lang.String... columnFamilies)
                      throws java.io.IOException
Triggers proactive repair for given column families, or all columnfamilies for the given table if none are explicitly listed.

Parameters:
tableName -
columnFamilies -
Throws:
java.io.IOException

decommission

void decommission()
                  throws java.lang.InterruptedException
transfer this node's data to other machines and remove it from service.

Throws:
java.lang.InterruptedException

move

void move(java.lang.String newToken)
          throws java.io.IOException,
                 java.lang.InterruptedException
Parameters:
newToken - token to move this node to. This node will unload its data onto its neighbors, and bootstrap to the new token.
Throws:
java.io.IOException
java.lang.InterruptedException

loadBalance

void loadBalance()
                 throws java.io.IOException,
                        java.lang.InterruptedException
This node will unload its data onto its neighbors, and bootstrap to share the range of the most-loaded node in the ring.

Throws:
java.io.IOException
java.lang.InterruptedException

removeToken

void removeToken(java.lang.String token)
removeToken removes token (and all data associated with enpoint that had it) from the ring


getRemovalStatus

java.lang.String getRemovalStatus()
Get the status of a token removal.


forceRemoveCompletion

void forceRemoveCompletion()
Force a remove operation to finish.


setLog4jLevel

void setLog4jLevel(java.lang.String classQualifier,
                   java.lang.String level)
set the logging level at runtime


getOperationMode

java.lang.String getOperationMode()
get the operational mode (leaving, joining, normal, decommissioned, client)


getDrainProgress

java.lang.String getDrainProgress()
get the progress of a drain operation


drain

void drain()
           throws java.io.IOException,
                  java.lang.InterruptedException,
                  java.util.concurrent.ExecutionException
makes node unavailable for writes, flushes memtables and replays commitlog.

Throws:
java.io.IOException
java.lang.InterruptedException
java.util.concurrent.ExecutionException

loadSchemaFromYAML

void loadSchemaFromYAML()
                        throws ConfigurationException,
                               java.io.IOException
Introduced in 0.7 to allow nodes to load their existing yaml defined schemas.

Throws:
ConfigurationException
java.io.IOException

exportSchema

java.lang.String exportSchema()
                              throws java.io.IOException
Introduced in 0.7 to allow schema yaml to be exported.

Throws:
java.io.IOException

truncate

void truncate(java.lang.String keyspace,
              java.lang.String columnFamily)
              throws UnavailableException,
                     java.util.concurrent.TimeoutException,
                     java.io.IOException
Truncates (deletes) the given columnFamily from the provided keyspace. Calling truncate results in actual deletion of all data in the cluster under the given columnFamily and it will fail unless all hosts are up. All data in the given column family will be deleted, but its definition will not be affected.

Parameters:
keyspace - The keyspace to delete from
columnFamily - The column family to delete data from.
Throws:
UnavailableException - if some of the hosts in the ring are down.
java.util.concurrent.TimeoutException
java.io.IOException

deliverHints

void deliverHints(java.lang.String host)
                  throws java.net.UnknownHostException
force hint delivery to an endpoint

Throws:
java.net.UnknownHostException

saveCaches

void saveCaches()
                throws java.util.concurrent.ExecutionException,
                       java.lang.InterruptedException
save row and key caches

Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException

getOwnership

java.util.Map<Token,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"


getKeyspaces

java.util.List<java.lang.String> getKeyspaces()


Copyright © 2011 The Apache Software Foundation