[MDEV-26210] mariabackup.log_page_corruption fails Created: 2021-07-22  Updated: 2023-03-03

Status: Open
Project: MariaDB Server
Component/s: Backup, Tests
Affects Version/s: 10.6, 10.7
Fix Version/s: 10.6

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Vladislav Lesin
Resolution: Unresolved Votes: 0
Labels: race

Issue Links:
Relates
relates to MDEV-26193 Skip check to invoke purge if the tra... Closed

 Description   

There seems to be a race condition in the test mariabackup.log_page_corruption that was exposed by MDEV-26193. After that change, purge threads are no longer woken up on every transaction commit, but only about once per second.

The test would now fail like this:

10.6 a4dc9265792919eb1ad156780e1a93dc4c7c6ce8

mariabackup.log_page_corruption          [ fail ]
        Test ended at 2021-07-22 10:55:46
 
CURRENT_TEST: mariabackup.log_page_corruption
Use of uninitialized value $n_pages in addition (+) at /mariadb/10.6/mysql-test/suite/mariabackup/include/corrupt-page.pl line 48.
Use of uninitialized value $n_pages in multiplication (*) at /mariadb/10.6/mysql-test/suite/mariabackup/include/corrupt-page.pl line 65.
Use of uninitialized value $n_pages in addition (+) at /mariadb/10.6/mysql-test/suite/mariabackup/include/corrupt-page.pl line 48.
Use of uninitialized value $n_pages in multiplication (*) at /mariadb/10.6/mysql-test/suite/mariabackup/include/corrupt-page.pl line 65.
Corrupted page 6
 was not copied to /dev/shm/10.6/mysql-test/var/tmp/backup_inc/test/t1_corrupted.ibd.delta. at /dev/shm/10.6/mysql-test/var/tmpMh3Gyv line 41, <$fh> line 1.
mysqltest: At line 181: command "perl" failed with error: 255  my_errno: 175  errno: 175
 
The result from queries just before the failure was:
< snip >
# Backup must not fail, but "innodb_corrupted_pages" file must be created due to --log-innodb-page-corruption option
--- "innodb_corrupted_pages" file content: ---
test/t1_corrupted
6 8 9
test/t1_inc_corrupted
6 8 9
test/t2_corrupted
7 8 10
test/t2_inc_corrupted
7 8 10
test/t4_inc_corrupted_new
1
test/t5_corrupted_to_rename_renamed
6
test/t5_inc_corrupted_to_rename_renamed
6
test/t7_inc_corrupted_to_alter
3
------
# Check if corrupted pages were copied to delta files, and non-corrupted pages are not copied.
 
More results from queries before failure can be found in /dev/shm/10.6/mysql-test/var/log/log_page_corruption.log

Note that there is no guarantee that any purge tasks will actually run; that could depend on the load on the operating system and CPU. I believe that similar failures should be possible even before MDEV-26193 was implemented.


Generated at Thu Feb 08 09:43:34 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.