Page tracking stops working when disk is full

Description

When MySQL complains that the disk is full, the output of SELECT mysqlbackup_page_track_get_start_lsn() goes back to 0 and Xtrabackup is not able to perform the backup with page tracking.

To reproduce, ensure that the replica has less disk space than the master. A quick way of setting this up is to make a small disk image and mount it in /var/lib/mysql:

Then setup asynchronous replication between primary and replica. On replica, enable page tracking:

Then on primary, run sysbench. Eg:

On replica, monitor page tracking:

Replica MySQL error log:

Even after reclaiming disk space, page tracking output is still 0. If you run Xtrabackup with page tracking, you are not able to perform the backup with error “[Xtrabackup] failed to fetch query result SELECT mysqlbackup_page_track_set(1) : Query execution was interrupted”

The only way to resolve this error is to restart MySQL.

Environment

None

AFFECTED CS IDs

CS0051323

Activity

Show:

Jaime Sicam November 24, 2024 at 4:48 AM

Tested on both Percona Server 8.0.39 and Community MySQL 8.0.40.

Details

Assignee

Reporter

Needs QA

Yes

Affects versions

Priority

Smart Checklist

Created November 24, 2024 at 4:38 AM
Updated November 26, 2024 at 5:10 AM