Can PBM tolerate a failed/lost full backup?

Assuming you have:

F1 a b c d e f F2 g h i j k l m F3 n

where [a-z] are the pitr snapshots and F1, F2 are fulls that have been run – can PBM recover to ’ ’ if F2 is lost or damaged? or are all of the points in time between ‘f’ and ‘F3’ useless?

Asked another way - does [a-m] form a continuous chain of oplogs regardless of presence of F2?

Reason I ask is recently saw some partial uploads to an s3 equivalent datastore, and was wondering what the resulting state would be in overall recoverability given that one of the full backups was apparently bad/incomplete.

Hi @Nathan_Neulinger

Currently, PITR chunks dependent on the closest preceding snapshot. Basically, restoration to the given point in time consists of two phases: restoring the closest preceding snapshot and then sequentially applying following pitr chunks up to the needed time. So following your example, restoring to the time j wold require F2 snapshot. Broken F2 would dispose/invalidate the [g-m] timeline. But [a-f] and [n] timelines would remain valid.

We were thinking of changing that behavoiur so any point-in-time ∈ [g-m] could fallback to F1 should F2 be “broken”.

I’ve created a ticket [PBM-617] Ability to restore from previous snapshots to point-in-time - Percona JIRA. And it probably gonna end up in the next minor release (v1.5) it is not a 100% though.

Cheers!

1 Like