|
||||||||||
| 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 HintedHandOffManagerMBeanipOrHostname - 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.InterruptedExceptionpublic void scheduleHintDelivery(java.net.InetAddress to)
public void scheduleHintDelivery(java.lang.String to)
throws java.net.UnknownHostException
HintedHandOffManagerMBean
scheduleHintDelivery in interface HintedHandOffManagerMBeanjava.net.UnknownHostExceptionpublic java.util.List<java.lang.String> listEndpointsPendingHints()
HintedHandOffManagerMBean
listEndpointsPendingHints in interface HintedHandOffManagerMBeanpublic 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 | |||||||||