|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cassandra.db.HintedHandOffManager
public class HintedHandOffManager
The hint schema looks like this: CREATE TABLE hints ( target_id uuid, hint_id timeuuid, message_version int, mutation blob, PRIMARY KEY (target_id, hint_id, message_version) ) WITH COMPACT STORAGE; Thus, for each node in the cluster we treat its uuid as the partition key; each hint is a logical row (physical composite column) containing the mutation to replay and associated metadata. When FailureDetector signals that a node that was down is back up, we page through the hinted mutations and send them over one at a time, waiting for hinted_handoff_throttle_delay in between each. deliverHints is also exposed to JMX so it can be run manually if FD ever misses its cue somehow.
Field Summary | |
---|---|
static HintedHandOffManager |
instance
|
static java.lang.String |
MBEAN_NAME
|
Constructor Summary | |
---|---|
HintedHandOffManager()
|
Method Summary | |
---|---|
protected java.util.concurrent.Future<?> |
compact()
|
java.util.Map<java.lang.String,java.lang.Integer> |
countPendingHints()
List all the endpoints that this node has hints for, and count the number of hints for each such endpoint. |
void |
deleteHintsForEndpoint(java.net.InetAddress endpoint)
|
void |
deleteHintsForEndpoint(java.lang.String ipOrHostname)
Nuke all hints from this node to `ep`. |
java.util.List<java.lang.String> |
listEndpointsPendingHints()
List all the endpoints that this node has hints for. |
void |
pauseHintsDelivery(boolean b)
pause hints delivery process |
void |
scheduleHintDelivery(java.net.InetAddress to)
|
void |
scheduleHintDelivery(java.lang.String to)
force hint delivery to an endpoint |
void |
start()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String MBEAN_NAME
public static final HintedHandOffManager instance
Constructor Detail |
---|
public HintedHandOffManager()
Method Detail |
---|
public void start()
public void deleteHintsForEndpoint(java.lang.String ipOrHostname)
HintedHandOffManagerMBean
deleteHintsForEndpoint
in interface HintedHandOffManagerMBean
ipOrHostname
- String rep. of endpoint address to delete hints for, either ip address ("127.0.0.1") or hostnamepublic void deleteHintsForEndpoint(java.net.InetAddress endpoint)
protected java.util.concurrent.Future<?> compact() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.lang.InterruptedException
public void scheduleHintDelivery(java.net.InetAddress to)
public void scheduleHintDelivery(java.lang.String to) throws java.net.UnknownHostException
HintedHandOffManagerMBean
scheduleHintDelivery
in interface HintedHandOffManagerMBean
java.net.UnknownHostException
public void pauseHintsDelivery(boolean b)
HintedHandOffManagerMBean
pauseHintsDelivery
in interface HintedHandOffManagerMBean
public java.util.List<java.lang.String> listEndpointsPendingHints()
HintedHandOffManagerMBean
listEndpointsPendingHints
in interface HintedHandOffManagerMBean
public java.util.Map<java.lang.String,java.lang.Integer> countPendingHints()
HintedHandOffManagerMBean
countPendingHints
in interface HintedHandOffManagerMBean
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |