# ERR Cluster node timeout exceeded: node <node_id> unreachable for <seconds> seconds

- **ID:** `redis/cluster-node-timeout-exceeded`
- **Domain:** redis
- **Category:** network_error
- **Error Code:** `ERR`
- **Verification:** ai_generated
- **Fix Rate:** 85%

## Root Cause

A cluster node has not responded to gossip pings within the cluster-node-timeout period, causing the cluster to mark it as possibly failed and triggering a failover attempt.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 5.0.0 | active | — | — |
| 6.0.0 | active | — | — |
| 7.0.0 | active | — | — |

## Workarounds

1. **Check network connectivity between nodes: `redis-cli -h <node_ip> -p <port> PING` from each node. If unreachable, verify firewall rules (e.g., iptables) and ensure cluster bus port (base port + 10000) is open.** (90% success)
   ```
   Check network connectivity between nodes: `redis-cli -h <node_ip> -p <port> PING` from each node. If unreachable, verify firewall rules (e.g., iptables) and ensure cluster bus port (base port + 10000) is open.
   ```
2. **If the node is overloaded, reduce client traffic or scale up resources. Use `CLUSTER SET-NODE-TIMEOUT <milliseconds>` temporarily to increase tolerance, then investigate root cause.** (75% success)
   ```
   If the node is overloaded, reduce client traffic or scale up resources. Use `CLUSTER SET-NODE-TIMEOUT <milliseconds>` temporarily to increase tolerance, then investigate root cause.
   ```
3. **If the node is permanently down, use `CLUSTER FORGET <node_id>` on all other nodes to remove it, then re-add a replacement node.** (85% success)
   ```
   If the node is permanently down, use `CLUSTER FORGET <node_id>` on all other nodes to remove it, then re-add a replacement node.
   ```

## Dead Ends

- **** — Simply restarting the unreachable node without checking network connectivity or firewall rules often leads to the same timeout recurring. (85% fail)
- **** — Increasing cluster-node-timeout to a very high value delays failure detection and can mask underlying network issues, leading to split-brain scenarios. (80% fail)
