Fatal Error: Corrupted backup data


#1

Server: 4 SSDs, 8 FDB processes
Backup command line:
fdbbackup start -d file:///media/fdb-backup

On the server machine I can restore the created backup.

If I rsync the backup to an Intel NUC: 1 SSD, 1 FDB process
Restore command line:
fdbrestore start -r file:///media/fdb-backup/backup-2019-03-25-09-56-28.068813

Console:
Backup Description
URL: file:///media/fdb-backup/backup-2019-03-25-09-56-28.068813
Restorable: true
Snapshot: startVersion=58338267559 (2019-03-26 14:21:11) endVersion=59094195768 (2019-03-26 14:33:47) totalBytes=58544269652 restorable=true
SnapshotBytes: 58544269652
MinLogBeginVersion: 58337705245 (2019-03-26 14:21:11)
ContiguousLogEndVersion: 59114204084 (2019-03-26 14:34:07)
MaxLogEndVersion: 59114204084 (2019-03-26 14:34:07)
MinRestorableVersion: 59094195768 (2019-03-26 14:33:47)
MaxRestorableVersion: 59114204083 (2019-03-26 14:34:07)
ERROR: Corrupted backup data
Fatal Error: Corrupted backup data

Strange: All timestamps are in the future.


#2

The answer is a version mismatch: FDB 6.0.15 and FDB 6.0.18

You distribute different releases:
https://apple.github.io/foundationdb/downloads.html
https://www.foundationdb.org/download/


(Steve Atherton) #3

The timestamps being in the future due to a bug which has been fixed in 6.1. The bug is that restore assumes it can use the destination cluster to do version->timestamp conversion, which doesn’t work if you are restoring into a different cluster than the source of the backup.

That specific version mismatch actually should not cause a problem. 6.0.18 should be able to read backups created from (I think) 5.1 and later.

If you can reproduce the error, try adding --log to get a trace file, it may provide more detail.


#4

Vice versa.
The backup FDB was 6.0.18.
The recover FDB was 6.0.15 (downloaded from the wrong page)


(Steve Atherton) #5

Ah, I see. 6.0.16 had a backup folder scheme change so earlier versions would not understand it.


Forward Compatibility for Transaction Logs