# Error: RDB checksum mismatch: expected 0x8a2b3c4d but got 0x9e1f0a5b

- **ID:** `redis/rdb-checksum-mismatch-on-replica`
- **Domain:** redis
- **Category:** data_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

During replication, the RDB file transferred from master to replica has been corrupted in transit or on disk, causing a checksum verification failure.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Redis 6.2.0 | active | — | — |
| Redis 7.0.0 | active | — | — |
| Redis 7.2.0 | active | — | — |

## Workarounds

1. **On the master, run a manual BGSAVE to generate a fresh RDB file, then on the replica, use REPLICAOF NO ONE and REPLICAOF master-ip master-port to trigger a full resync.** (80% success)
   ```
   On the master, run a manual BGSAVE to generate a fresh RDB file, then on the replica, use REPLICAOF NO ONE and REPLICAOF master-ip master-port to trigger a full resync.
   ```
2. **Check disk health on both master and replica using fsck or smartctl, and ensure network stability (e.g., TCP checksum offloading) to prevent corruption during transfer.** (75% success)
   ```
   Check disk health on both master and replica using fsck or smartctl, and ensure network stability (e.g., TCP checksum offloading) to prevent corruption during transfer.
   ```
3. **If the error persists, manually copy the RDB file from master to replica using rsync with checksum verification, then restart the replica to load the file.** (85% success)
   ```
   If the error persists, manually copy the RDB file from master to replica using rsync with checksum verification, then restart the replica to load the file.
   ```

## Dead Ends

- **** — Retrying the replication without fixing the underlying network or disk issue will cause the same checksum mismatch on subsequent attempts. (80% fail)
- **** — Disabling RDB checksums via rdb-checksum no in redis.conf removes the error but allows silent data corruption to propagate. (90% fail)
- **** — Restarting the replica without addressing the master's RDB file integrity may load a corrupted dataset from persistent storage. (70% fail)
