PITR fails due to incorrect binlog filtering logic

Description

Hi folks!

Customer came with a failing PITR:

 

 

The problem is here:

 

 

The recovery process only considers the very first UUID in a GTID sequence where there is more than one, like:

 

Other logs that only contained events from e078f0b4-c587-11ea-879f-36f1e5293cb0 were ignored:

The filter logic is around here: https://github.com/percona/percona-xtradb-cluster-operator/blob/3ffafa312ebf7a5b59d36ec694883616fe03bc26/cmd/pitr/recoverer/recoverer.go#L423 

It should actually not do any filtering; If binlogs came from backup source, they should be replayed in it's entirety.

Full logs and yaml's available in SN ticket.

 

Environment

None

AFFECTED CS IDs

CS0026005

Smart Checklist

Activity

Slava Sarzhan April 7, 2022 at 8:59 AM

The issue was fixed and filter was removed.

We'll recommend users to use a separate storage/bucket/directory to
store the binlogs and remove the filter from PITR recoverer. All the
binlogs will be applied one by one.

Done

Details

Assignee

Reporter

Fix versions

Affects versions

Priority

Smart Checklist

Created April 1, 2022 at 2:14 AM
Updated March 5, 2024 at 5:39 PM
Resolved June 9, 2022 at 6:50 AM