{
  "schema_version": 2,
  "id": "commands/cluster-count-failure-reports",
  "title": "CLUSTER COUNT-FAILURE-REPORTS",
  "url": "https://redis.io/docs/latest/commands/cluster-count-failure-reports/",
  "summary": "Returns the number of active failure reports active for a node.",
  "since": "3.0.0",
  "tags": [
    "docs",
    "develop",
    "stack",
    "oss",
    "rs",
    "rc",
    "oss",
    "kubernetes",
    "clients"
  ],
  "last_updated": "2026-06-15T06:26:34-07:00",
  "page_type": "content",
  "content_hash": "9389262c1b8c6cc02bb479c87848fa7e859a4c9fefcf2517c5469e6923766097",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "This command returns the number of active failure reports for the specified node. Redis Cluster uses failure reports to promote a node from PFAIL to FAIL. PFAIL means the node is not reachable from one node’s point of view. FAIL means that a majority of primary nodes agreed, within a time window, that the node is not reachable.\n\nThe command counts only failure reports that have not expired. A report expires after twice the node timeout. The count includes only reports that the node receiving the command has received from other nodes. It does not include the receiving node’s own view of the specified node.\n\nUse this command to debug Redis Cluster failure detection when it does not behave as expected."
    },
    {
      "id": "required-arguments",
      "title": "Required arguments",
      "role": "content",
      "text": "<details open><summary><code>node-id</code></summary>\n\nThe ID of the node to count failure reports for.\n\n</details>"
    },
    {
      "id": "details",
      "title": "Details",
      "role": "content",
      "text": "* 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.\n* Nodes in `PFAIL` state are provided in gossip sections of heartbeat packets.\n* 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.\n* Each failure report has a time to live of two times the node timeout time.\n* 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`."
    },
    {
      "id": "redis-software-and-redis-cloud-compatibility",
      "title": "Redis Software and Redis Cloud compatibility",
      "role": "content",
      "text": "| Redis<br />Software | Redis<br />Cloud | <span style=\"min-width: 9em; display: table-cell\">Notes</span> |\n|:----------------------|:-----------------|:------|\n| <span title=\"Not supported\">&#x274c; Standard</span><br /><span title=\"Not supported\"><nobr>&#x274c; Active-Active</nobr></span> | <span title=\"Not supported\">&#x274c; Standard</span><br /><span title=\"Not supported\"><nobr>&#x274c; Active-Active</nobr></span> |  |"
    },
    {
      "id": "return-information",
      "title": "Return information",
      "role": "returns",
      "text": "**RESP2:**\n\n[Integer reply](../../develop/reference/protocol-spec#integers): the number of active failure reports for the node.\n\n**RESP3:**\n\n[Integer reply](../../develop/reference/protocol-spec#integers): the number of active failure reports for the node."
    }
  ],
  "examples": []
}
