Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
10.11, 11.4, 11.8, 12.3, 13.0
-
None
-
Not for Release Notes
-
Q4/2026 Server Maintenance
Description
Buildbot crossreference shows that a particular failure of encryption.innochecksum is observed:
I had been tracking this since I saw some failures occurring during MDEV-33966 development, and the area of testing is similar (checking buffer pool LRU status via information schema).
The failure mode is: no old page is found, when some old pages should have been.
I think that the issue of the test might be that there are not enough (512) pages in the LRU list at the time the check runs, therefore in some runs, no old page is found.
Why not enough pages? Setting --innodb-buffer-pool-load-at-startup=0 makes the test ~deterministically fail for 4k and 16k pages. Therefore I believe it's because buffer pool loading may not be completed at the time the checks run, and LRU is not fill enough.
So the sample patch would be (following similar pattern from other tests):
diff --git a/mysql-test/suite/encryption/t/innochecksum.test b/mysql-test/suite/encryption/t/innochecksum.test
|
index e440e3d3344..d4a3d78a944 100644
|
--- a/mysql-test/suite/encryption/t/innochecksum.test
|
+++ b/mysql-test/suite/encryption/t/innochecksum.test
|
@@ -300,6 +300,16 @@ if (0 && $have_debug) { # these messages sometimes fail to appear
|
|
--source include/start_mysqld.inc
|
|
+# The check of pages_old needs old pages in the buffer pool LRU list.
|
+# They exist only when the list holds at least BUF_LRU_OLD_MIN_LEN pages.
|
+# Without the asynchronous load of the buffer pool dump, the list can be
|
+# shorter than that.
|
+let $wait_condition =
|
+ SELECT SUBSTR(variable_value, 1, 33) = 'Buffer pool(s) load completed at '
|
+ FROM information_schema.global_status
|
+ WHERE LOWER(variable_name) = 'innodb_buffer_pool_load_status';
|
+--source include/wait_condition.inc
|
+
|
--echo # Trigger AHI and test pages_hashed, pages_old as non zero from sys view
|
|
SELECT STRAIGHT_JOIN COUNT(t6a.a) |