## 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: <dest token>: { // key <uuid>: { // supercolumn mutation: <mutation> // subcolumn version: <mutation serialization version> table:

key: <key of hinted mutation> } } 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 java.lang.String` `HINTS_CF`
`static HintedHandOffManager` `instance`

Constructor Summary
`HintedHandOffManager()`

Method Summary
`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

### instance

    public static final HintedHandOffManager instance

### HINTS_CF

    public static final java.lang.String HINTS_CF

See Also:
  Constant Field Values

Constructor Detail

### HintedHandOffManager

    public HintedHandOffManager()

Method Detail

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