IFailureDetector (apache-cassandra API)
Date: 2018-02-14

org.apache.cassandra.gms

## Interface IFailureDetector

- All Known Implementing Classes:
    FailureDetector

      public interface IFailureDetector

  An interface that provides an application with the ability to query liveness information of a node in the cluster. It also exposes methods which help an application register callbacks for notifications of liveness information of nodes.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `forceConviction(java.net.InetAddress ep)` force conviction of endpoint in the failure detector
    `void` | `interpret(java.net.InetAddress ep)` This method is invoked by any entity wanting to interrogate the status of an endpoint.
    `boolean` | `isAlive(java.net.InetAddress ep)` Failure Detector's knowledge of whether a node is up or down.
    `void` | `registerFailureDetectionEventListener(IFailureDetectionEventListener listener)` Register interest for Failure Detector events.
    `void` | `remove(java.net.InetAddress ep)` remove endpoint from failure detector
    `void` | `report(java.net.InetAddress ep)` This method is invoked by the receiver of the heartbeat.
    `void` | `unregisterFailureDetectionEventListener(IFailureDetectionEventListener listener)` Un-register interest for Failure Detector events.

- - ### Method Detail

    - #### isAlive

          boolean isAlive(java.net.InetAddress ep)

      Failure Detector's knowledge of whether a node is up or down.
      Parameters:
        `ep` - endpoint in question.
      Returns:
        true if UP and false if DOWN.

    - #### interpret

          void interpret(java.net.InetAddress ep)

      This method is invoked by any entity wanting to interrogate the status of an endpoint. In our case it would be the Gossiper. The Failure Detector will then calculate Phi and deem an endpoint as suspicious or alive as explained in the Hayashibara paper. param ep endpoint for which we interpret the inter arrival times.

    - #### report

          void report(java.net.InetAddress ep)

      This method is invoked by the receiver of the heartbeat. In our case it would be the Gossiper. Gossiper inform the Failure Detector on receipt of a heartbeat. The FailureDetector will then sample the arrival time as explained in the paper. param ep endpoint being reported.

    - #### remove

          void remove(java.net.InetAddress ep)

      remove endpoint from failure detector

    - #### forceConviction

          void forceConviction(java.net.InetAddress ep)

      force conviction of endpoint in the failure detector

    - #### registerFailureDetectionEventListener

          void registerFailureDetectionEventListener(IFailureDetectionEventListener listener)

      Register interest for Failure Detector events.
      Parameters:
        `listener` - implementation of an application provided IFailureDetectionEventListener

    - #### unregisterFailureDetectionEventListener

          void unregisterFailureDetectionEventListener(IFailureDetectionEventListener listener)

      Un-register interest for Failure Detector events.
      Parameters:
        `listener` - implementation of an application provided IFailureDetectionEventListener

Copyright © 2018 The Apache Software Foundation