ERM redis network_error ai_generated partial

ERR Replica diskless replication failed: timeout waiting for RDB file from master

ID: redis/replica-diskless-replication-timeout

Also available as: JSON · Markdown · 中文
82%Fix Rate
87%Confidence
1Evidence
2023-06-12First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
6.0 active
7.0 active
7.2 active

Root Cause

The replica did not receive the full RDB file within repl-timeout during diskless replication, often due to network congestion or slow master I/O.

generic

中文

副本在无盘复制期间未在 repl-timeout 内收到完整的 RDB 文件,通常由于网络拥塞或主节点 I/O 缓慢。

Official Documentation

https://redis.io/docs/latest/operate/oss_and_stack/management/replication/

Workarounds

  1. 85% success Use 'redis-cli --latency' to check network latency between master and replica. If > 100ms, consider placing them in the same data center or using a faster link.
    Use 'redis-cli --latency' to check network latency between master and replica. If > 100ms, consider placing them in the same data center or using a faster link.
  2. 80% success Run 'CONFIG SET repl-timeout 120' and 'CONFIG SET repl-backlog-size 100mb' on master to accommodate larger RDB files.
    Run 'CONFIG SET repl-timeout 120' and 'CONFIG SET repl-backlog-size 100mb' on master to accommodate larger RDB files.

中文步骤

  1. 使用 'redis-cli --latency' 检查主节点和副本之间的网络延迟。如果超过 100ms,考虑将其放在同一数据中心或使用更快的链路。
  2. 在主节点上运行 'CONFIG SET repl-timeout 120' 和 'CONFIG SET repl-backlog-size 100mb' 以容纳更大的 RDB 文件。

Dead Ends

Common approaches that don't work:

  1. 55% fail

    Falls back to disk-based replication, which can be slower and cause disk I/O spikes.

  2. 65% fail

    May mask underlying network issues; can cause long failover delays.

  3. 75% fail

    Temporary fix; timeout will recur if network or master issues persist.