Use MySQL page tracking for incremental backup

Description

*Draft*

Upstream has implemented the page tracking component through
WL#11082 InnoDB: Persistent page tracking: Service Interface.
some details about it in blogpost https://mysqlserverteam.com/innodb-clone-and-page-tracking/

Incremental backup can use this feature to efficiently find out the modified pages after
last full backup.

Implement a new option in xtrabackup --page-tracking
If enabled Xtrabackup will install mysqlbackup component and and set page tracking request to the running server during the first full backup.

During increment, PXB generates a map of all modified page after last backup using the page tracking component. this map would be used to copy only the modified pages after the last backup.

Environment

None

Smart Checklist

Activity

Show:

Rahul Malik December 1, 2021 at 5:38 AM

Tech preview in 8.0.27

Bugs impacting use of this feature
https://jira.percona.com/browse/PS-7737
https://jira.percona.com/browse/PS-7895

Rahul Malik December 1, 2021 at 5:36 AM

Would be releasing experimental in 8.0.27.

Use MySQL page tracking for incremental backup

https://jira.percona.com/browse/PXB-2434

Implement page tracking-based incremental backup. New implementation avoid
full scan during an increment backup by using the page tracking feature
to read the delta pages during an incremental backup.

The page tracking is the infrastructure to track the modified pages
within InnoDB. check blogpost
https://dev.mysql.com/blog-archive/innodb-clone-and-page-tracking/
for more details

Usage:

New option --page-tracking will enable page tracking on the server during
the backup. PXB will invoke mysqlbackup component service API to start page
tracking on the server.

If --page-tracking option is provided during the incremental backup, PXB will
call the mysqlbackup component API to generate the list of modified pages after
the last backup checkpoint and use that list to copy the modified pages from the
previous backup.

MySQLbackup component should be installed on server to use page-tracking.

It do full scan for mysql.ibd as required for

Added debug code to verfiy pages which are not tracked by pagetracking
does not have LSN in the range from last backup lsn and increment
start lsn.

Added page-tracking as default suite

Done

Details

Assignee

Reporter

Reviewer

Time tracking

7w 2d 1h 30m logged

Affects versions

Priority

Smart Checklist

Created March 4, 2021 at 9:41 AM
Updated March 6, 2024 at 6:44 PM
Resolved December 1, 2021 at 5:38 AM