{
  "id": "redis/replica-repl-backlog-overflow",
  "signature": "Error: Replication backlog buffer overflow, disconnecting replica",
  "signature_zh": "错误：复制积压缓冲区溢出，断开副本连接",
  "regex": "Replication backlog buffer overflow, disconnecting replica",
  "domain": "redis",
  "category": "system_error",
  "subcategory": null,
  "root_cause": "The replication backlog buffer on the primary node exceeded its configured size, causing the node to disconnect replicas to prevent memory exhaustion.",
  "root_cause_type": "generic",
  "root_cause_zh": "主节点上的复制积压缓冲区超过配置大小，导致节点断开副本连接以防止内存耗尽。",
  "versions": [
    {
      "version": "Redis 6.2.6",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Redis 7.0.12",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Redis 7.2.4",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "",
      "why_fails": "Setting backlog size to zero disables partial resynchronization, forcing full syncs on each reconnect, increasing network load.",
      "fail_rate": 0.8,
      "condition": "",
      "sources": []
    },
    {
      "action": "",
      "why_fails": "Restarting clears the backlog temporarily but does not address the root cause of high write volume or slow replicas.",
      "fail_rate": 0.75,
      "condition": "",
      "sources": []
    },
    {
      "action": "",
      "why_fails": "Large keys are not the direct cause; the backlog overflow is due to accumulated write commands, not key size.",
      "fail_rate": 0.5,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "Increase the replication backlog size: CONFIG SET repl-backlog-size 100mb. This provides more buffer for replicas to catch up.",
      "success_rate": 0.9,
      "how": "Increase the replication backlog size: CONFIG SET repl-backlog-size 100mb. This provides more buffer for replicas to catch up.",
      "condition": "",
      "sources": []
    },
    {
      "action": "Add more replicas or improve network bandwidth to reduce replication lag. Monitor with INFO replication.",
      "success_rate": 0.8,
      "how": "Add more replicas or improve network bandwidth to reduce replication lag. Monitor with INFO replication.",
      "condition": "",
      "sources": []
    },
    {
      "action": "Enable client output buffer limits for replicas: CONFIG SET client-output-buffer-limit replica 256mb 64mb 60. This prevents a single slow replica from overwhelming the backlog.",
      "success_rate": 0.85,
      "how": "Enable client output buffer limits for replicas: CONFIG SET client-output-buffer-limit replica 256mb 64mb 60. This prevents a single slow replica from overwhelming the backlog.",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "Increase the replication backlog size: CONFIG SET repl-backlog-size 100mb. This provides more buffer for replicas to catch up.",
    "Add more replicas or improve network bandwidth to reduce replication lag. Monitor with INFO replication.",
    "Enable client output buffer limits for replicas: CONFIG SET client-output-buffer-limit replica 256mb 64mb 60. This prevents a single slow replica from overwhelming the backlog."
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://redis.io/docs/latest/operate/oss_and_stack/replication/",
  "official_doc_section": null,
  "error_code": "ERM",
  "verification_tier": "ai_generated",
  "confidence": 0.88,
  "fix_success_rate": 0.85,
  "resolvable": "true",
  "first_seen": "2024-01-10",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}