|
||||||||||
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
|
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 |
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 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 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 |