java.lang.Object
org.apache.iotdb.confignode.manager.load.cache.detector.PhiAccrualDetector
All Implemented Interfaces:
IFailureDetector

public class PhiAccrualDetector extends Object implements IFailureDetector
The Phi Failure Detector, proposed by Hayashibara, Naohiro, et al. "The/spl phi/accrual failure detector.". It is an accrual approach based on heartbeat history analysis with dynamic sensitivity and tunable threshold. It is adaptive with early failure detection, increased accuracy and improved system stability.

Initially, Phi has a cold start period where it will only collect heartbeat samples and fallback decision-making to FixedDetector. After collecting enough samples, it will start failure detection using the Phi algo.

  • Constructor Details

    • PhiAccrualDetector

      public PhiAccrualDetector(long threshold, long acceptableHeartbeatPauseNs, long minHeartbeatStdNs, int minimalSampleCount, IFailureDetector fallbackDuringColdStart)
  • Method Details

    • isAvailable

      public boolean isAvailable(List<AbstractHeartbeatSample> history)
      Description copied from interface: IFailureDetector
      Given the heartbeat history, decide whether this endpoint is still available
      Specified by:
      isAvailable in interface IFailureDetector
      Parameters:
      history - heartbeat history
      Returns:
      false if the endpoint is under failure