From 06cba6ccd165ca8b224797e37fccb9e63f026d77 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 21 Mar 2020 11:28:17 +0100 Subject: Adding upstream version 1.9.1. Signed-off-by: Daniel Baumann --- .../data/commands/cluster-count-failure-reports.md | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 iredis/data/commands/cluster-count-failure-reports.md (limited to 'iredis/data/commands/cluster-count-failure-reports.md') diff --git a/iredis/data/commands/cluster-count-failure-reports.md b/iredis/data/commands/cluster-count-failure-reports.md new file mode 100644 index 0000000..bb3c937 --- /dev/null +++ b/iredis/data/commands/cluster-count-failure-reports.md @@ -0,0 +1,34 @@ +The command returns the number of _failure reports_ for the specified node. +Failure reports are the way Redis Cluster uses in order to promote a `PFAIL` +state, that means a node is not reachable, to a `FAIL` state, that means that +the majority of masters in the cluster agreed within a window of time that the +node is not reachable. + +A few more details: + +- A node flags another node with `PFAIL` when the node is not reachable for a + time greater than the configured _node timeout_, which is a fundamental + configuration parameter of a Redis Cluster. +- Nodes in `PFAIL` state are provided in gossip sections of heartbeat packets. +- Every time a node processes gossip packets from other nodes, it creates (and + refreshes the TTL if needed) **failure reports**, remembering that a given + node said another given node is in `PFAIL` condition. +- Each failure report has a time to live of two times the _node timeout_ time. +- If at a given time a node has another node flagged with `PFAIL`, and at the + same time collected the majority of other master nodes _failure reports_ about + this node (including itself if it is a master), then it elevates the failure + state of the node from `PFAIL` to `FAIL`, and broadcasts a message forcing all + the nodes that can be reached to flag the node as `FAIL`. + +This command returns the number of failure reports for the current node which +are currently not expired (so received within two times the _node timeout_ +time). The count does not include what the node we are asking this count +believes about the node ID we pass as argument, the count _only_ includes the +failure reports the node received from other nodes. + +This command is mainly useful for debugging, when the failure detector of Redis +Cluster is not operating as we believe it should. + +@return + +@integer-reply: the number of active failure reports for the node. -- cgit v1.2.3