ERR redis data_error ai_generated partial

Error: RDB checksum mismatch: expected 0xAB12CD34 but got 0x5678EF90

ID: redis/rdb-checksum-mismatch-restore

Also available as: JSON · Markdown · 中文
75%Fix Rate
88%Confidence
1Evidence
2023-11-20First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
6.2.0 active
7.0.0 active
7.2.0 active

Root Cause

The RDB file on disk has been corrupted or modified after creation, causing its checksum to differ from the expected value.

generic

中文

磁盘上的 RDB 文件在创建后被损坏或修改,导致其校验和与期望值不同。

Official Documentation

https://redis.io/docs/management/persistence/

Workarounds

  1. 70% success Use redis-check-rdb to validate and attempt repair: 'redis-check-rdb /var/lib/redis/dump.rdb' then if repair is needed 'redis-check-rdb --fix /var/lib/redis/dump.rdb'
    Use redis-check-rdb to validate and attempt repair: 'redis-check-rdb /var/lib/redis/dump.rdb' then if repair is needed 'redis-check-rdb --fix /var/lib/redis/dump.rdb'
  2. 85% success Restore from the latest valid RDB backup or promote a replica to primary if replication is configured
    Restore from the latest valid RDB backup or promote a replica to primary if replication is configured

中文步骤

  1. Use redis-check-rdb to validate and attempt repair: 'redis-check-rdb /var/lib/redis/dump.rdb' then if repair is needed 'redis-check-rdb --fix /var/lib/redis/dump.rdb'
  2. Restore from the latest valid RDB backup or promote a replica to primary if replication is configured

Dead Ends

Common approaches that don't work:

  1. Restarting Redis without fixing the RDB file 100% fail

    Redis will reload the same corrupt RDB file and fail again with the same checksum error.

  2. Deleting the RDB file and restarting 95% fail

    This causes complete data loss unless a replica or backup is available.

  3. Running redis-check-rdb with --fix on a heavily corrupted file 60% fail

    The fix tool can only recover partially; if the checksum mismatch is severe, it may truncate the file and lose data.