集群计数失败报告
Syntax
CLUSTER COUNT-FAILURE-REPORTS node-id
- Available since:
- 3.0.0
- Time complexity:
- O(N) where N is the number of failure reports
- ACL categories:
-
@admin
,@slow
,@dangerous
,
该命令返回指定节点的故障报告数量。
故障报告是Redis集群用来将PFAIL
状态(即节点不可达)提升为FAIL
状态(即集群中的大多数主节点在一段时间内同意该节点不可达)的方式。
更多细节:
- 当一个节点在超过配置的节点超时时间内无法访问时,另一个节点会将其标记为
PFAIL
,这是Redis集群的一个基本配置参数。 - 处于
PFAIL
状态的节点会在心跳包中的gossip部分提供。 - 每次节点处理来自其他节点的gossip数据包时,它会创建(并在需要时刷新TTL)故障报告,记住某个节点说另一个节点处于
PFAIL
状态。 - 每个故障报告的有效期是节点超时时间的两倍。
- 如果在某个时间点,一个节点标记了另一个节点为
PFAIL
,并且同时收集到了大多数其他主节点关于该节点的故障报告(包括它自己,如果它是一个主节点),那么它将把该节点的故障状态从PFAIL
提升到FAIL
,并广播一条消息,强制所有可以到达的节点将该节点标记为FAIL
。
此命令返回当前节点未过期的故障报告数量(即在两倍节点超时时间内收到的报告)。该计数不包括我们请求计数的节点对我们传递的节点ID的看法,计数仅包括该节点从其他节点接收到的故障报告。
此命令主要用于调试,当Redis集群的故障检测器未按我们预期的方式运行时。