Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.6, 10.7(EOL)
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.
Attachments
Issue Links
- relates to
-
MDEV-26193 Skip check to invoke purge if the transaction is read-only
- Closed