Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.5, 10.6, 10.11, 11.0(EOL), 11.1(EOL), 11.2(EOL), 11.3(EOL), 11.4
Description
The test encryption.innodb-redo-nokeys often fails in various ways on 10.5 and later versions. On 10.4 I found a shutdown hang as well as SAFEMALLOC warnings on memory leaks, but nothing like this. Here are a few examples:
10.11 d15260990d94258bca9eb2bae94159f6 |
encryption.innodb-redo-nokeys 'cbc,innodb' w1 [ fail ] Found warnings/errors in server log file!
|
Test ended at 2022-10-27 15:10:25
|
line
|
2022-10-27 15:10:21 0 [ERROR] InnoDB: Missing FILE_CHECKPOINT(72379) at 1561912
|
2022-10-27 15:10:21 0 [ERROR] InnoDB: Log scan aborted at LSN 1561912
|
10.5 8a763c014ede4adad9c84852269b5af61845c0d9 |
encryption.innodb-redo-nokeys 'cbc,innodb' w21 [ fail ] Found warnings/errors in server log file!
|
Test ended at 2024-01-12 16:33:53
|
line
|
2024-01-12 16:33:49 0 [ERROR] InnoDB: Missing FILE_CHECKPOINT at 1566925 between the checkpoint 53172 and the end 1632256.
|
10.6 d06b6de3050180ec2f96ef00963d1beab8e1b47a |
encryption.innodb-redo-nokeys 'cbc,innodb' w3 [ fail ] Found warnings/errors in server log file!
|
Test ended at 2024-01-11 04:20:08
|
line
|
2024-01-11 4:20:06 0 [ERROR] InnoDB: Missing FILE_CHECKPOINT at 1108630 between the checkpoint 52669 and the end 1174016.
|
10.6 0f510d8b5a0089814edbadeebd68a1b83f8db9eb |
encryption.innodb-redo-nokeys 'cbc,innodb' w11 [ fail ]
|
Test ended at 2023-12-14 12:09:14
|
|
CURRENT_TEST: encryption.innodb-redo-nokeys
|
--- /home/buildbot/amd64-ubuntu-2204-clang14-asan/build/mysql-test/suite/encryption/r/innodb-redo-nokeys.result 2023-12-14 11:52:21.000000000 +0000
|
+++ /home/buildbot/amd64-ubuntu-2204-clang14-asan/build/mysql-test/suite/encryption/r/innodb-redo-nokeys.reject 2023-12-14 12:09:13.318204770 +0000
|
@@ -40,6 +40,6 @@
|
WHERE engine = 'innodb'
|
AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
-FOUND 1 /\[ERROR\] InnoDB: Encryption key is not found for .*test.t1.ibd/ in mysqld.1.err
|
+NOT FOUND /\[ERROR\] InnoDB: Encryption key is not found for .*test.t1.ibd/ in mysqld.1.err
|
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt
|
drop table t1,t2,t3,t4,t5;
|
|
mysqltest: Result length mismatch
|
The redo logging and recovery was rewritten in MDEV-12353 and later refined in MDEV-14425.
These failures need to be analyzed to determine the reason of the failure. Possibly we will need to improve the control of background writes, page flushing and the checkpoint activity, like we have done in the test innodb.doublewrite (MDEV-23855, MDEV-32242, MDEV-32968).
Attachments
Issue Links
- relates to
-
MDEV-12353 Efficient InnoDB redo log record format
-
- Closed
-
10.11: Could reproduce all the symptoms. The intermittent behaviour is caused by the page flush and intermittent checkpoint.
1. [ERROR] InnoDB: Missing FILE_CHECKPOINT(72379) at 1561912
2. [ERROR] InnoDB: Log scan aborted at LSN 1561912
3. -FOUND 1 /[ERROR] InnoDB: Encryption key is not found for .*test.t1.ibd/ in mysqld.1.err
+NOT FOUND /[ERROR] InnoDB: Encryption key is not found for .*test.t1.ibd/ in mysqld.1.err
All 3 cases can be repeated by forcing intermediate flush and checkpoint.
diff --git a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
index 550979680c5..646aede1947 100644
--- a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
+++ b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
dec $i;
}
+
+SET GLOBAL innodb_buf_flush_list_now = 1;
+SET GLOBAL innodb_log_checkpoint_now = 1;
--enable_query_log
insert into t2 select * from t1;
Fix (10.11):
diff --git a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
index b7d6eb50e70..ea75e4a873e 100644
--- a/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
+++ b/mysql-test/suite/encryption/r/innodb-redo-nokeys.result
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt
SET GLOBAL innodb_file_per_table = ON;
@@ -42,6 +37,6 @@ SELECT * FROM INFORMATION_SCHEMA.ENGINES
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
# restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt
drop table t1,t2,t3,t4,t5;
diff --git a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
index 52c12761f69..550979680c5 100644
--- a/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
+++ b/mysql-test/suite/encryption/t/innodb-redo-nokeys.test
-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt
--source include/search_pattern_in_file.inc
#
index e72f842f9a9..21917800c66 100644
ut_ad(!end || end == recv_sys.lsn);
mysql_mutex_unlock(&recv_sys.mutex);
{
recv_sys.set_corrupt_log();
@@ -4602,6 +4602,9 @@ dberr_t recv_recovery_from_checkpoint_start()
LSN_PF, recv_sys.lsn);
}
+ }
ut_ad(recv_sys.file_checkpoint);
recv_sys.lsn = log_sys.next_checkpoint_lsn;
@@ -4640,9 +4643,9 @@ dberr_t recv_recovery_from_checkpoint_start()
- ut_ad(!recv_sys.is_corrupt_fs());
+ recv_sys.is_corrupt_fs()) {
}