org.apache.cassandra.db
Class HintedHandOffManager
java.lang.Object
org.apache.cassandra.db.HintedHandOffManager
- All Implemented Interfaces:
- HintedHandOffManagerMBean
public class HintedHandOffManager
- extends java.lang.Object
- implements HintedHandOffManagerMBean
For each endpoint for which we have hints, there is a row in the system hints CF.
The key for this row is ByteBuffer.wrap(string), i.e. "127.0.0.1".
(We have to use String keys for compatibility with OPP.)
SuperColumns in these rows are the mutations to replay, with uuid names:
: { // key
: { // supercolumn
mutation: // subcolumn
version:
table:
key:
}
}
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.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
instance
public static final HintedHandOffManager instance
HINTS_CF
public static final java.lang.String HINTS_CF
- See Also:
- Constant Field Values
HintedHandOffManager
public HintedHandOffManager()
start
public void start()
deleteHintsForEndpoint
public void deleteHintsForEndpoint(java.lang.String ipOrHostname)
- Description copied from interface:
HintedHandOffManagerMBean
- Nuke all hints from this node to `ep`.
- Specified by:
deleteHintsForEndpoint
in interface HintedHandOffManagerMBean
- Parameters:
ipOrHostname
- String rep. of endpoint address to delete hints for, either ip address ("127.0.0.1") or hostname
deleteHintsForEndpoint
public void deleteHintsForEndpoint(java.net.InetAddress endpoint)
scheduleHintDelivery
public void scheduleHintDelivery(java.net.InetAddress to)
scheduleHintDelivery
public void scheduleHintDelivery(java.lang.String to)
throws java.net.UnknownHostException
- Description copied from interface:
HintedHandOffManagerMBean
- force hint delivery to an endpoint
- Specified by:
scheduleHintDelivery
in interface HintedHandOffManagerMBean
- Throws:
java.net.UnknownHostException
listEndpointsPendingHints
public java.util.List<java.lang.String> listEndpointsPendingHints()
- Description copied from interface:
HintedHandOffManagerMBean
- List all the endpoints that this node has hints for.
- Specified by:
listEndpointsPendingHints
in interface HintedHandOffManagerMBean
- Returns:
- set of endpoints; as Strings
countPendingHints
public java.util.Map<java.lang.String,java.lang.Integer> countPendingHints()
- Description copied from interface:
HintedHandOffManagerMBean
- List all the endpoints that this node has hints for, and
count the number of hints for each such endpoint.
- Specified by:
countPendingHints
in interface HintedHandOffManagerMBean
- Returns:
- map of endpoint -> hint count
Copyright © 2012 The Apache Software Foundation