mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
5e7047067e
If we fail to open a tablespace while looking for FILE_CHECKPOINT, we set the corruption flag. Specifically, if encryption key is missing, we would not be able to open an encrypted tablespace and the flag could be set. We miss checking for this flag and report "Missing FILE_CHECKPOINT" Address review comment to improve the test. Flush pages before starting no-checkpoint block. It should improve the number of cases where the test is skipped because some intermediate checkpoint is triggered.
28 lines
992 B
PHP
28 lines
992 B
PHP
# Preparation for using no_checkpoint_end.inc
|
|
|
|
# no_checkpoint_flush: Set to trigger flushing the dirty pages from buffer pool
|
|
# and checkpoint before the "no checkpoint" block.
|
|
|
|
if ($no_checkpoint_flush) {
|
|
--echo
|
|
--echo # Flush all dirty pages from buffer pool
|
|
SET @no_checkpoint_save_pct= @@GLOBAL.innodb_max_dirty_pages_pct;
|
|
SET @no_checkpoint_save_pct_lwm= @@GLOBAL.innodb_max_dirty_pages_pct_lwm;
|
|
|
|
SET GLOBAL innodb_max_dirty_pages_pct_lwm=0.0;
|
|
SET GLOBAL innodb_max_dirty_pages_pct=0.0;
|
|
|
|
let $wait_condition =
|
|
SELECT variable_value = 0
|
|
FROM information_schema.global_status
|
|
WHERE variable_name = 'INNODB_BUFFER_POOL_PAGES_DIRTY';
|
|
--source include/wait_condition.inc
|
|
|
|
SET GLOBAL innodb_max_dirty_pages_pct= @no_checkpoint_save_pct;
|
|
SET GLOBAL innodb_max_dirty_pages_pct_lwm= @no_checkpoint_save_pct_lwm;
|
|
--echo
|
|
}
|
|
|
|
let MYSQLD_DATADIR= `select @@datadir`;
|
|
--replace_regex /.*Last checkpoint at[ ]*([0-9]+).*/\1/
|
|
let CHECKPOINT_LSN=`SHOW ENGINE INNODB STATUS`;
|