mirror of
https://github.com/MariaDB/server.git
synced 2025-06-19 19:21:25 +02:00

The test in commit 1756b0f37d
is occasionally failing if there are unexpectedly many page cleaner
batches that are updating the log checkpoint by small amounts.
This occurs in particular when running the server under Valgrind.
Let us insert the same number of records with a larger number of
statements in a hope that the test would then be more likely to pass.
27 lines
1.1 KiB
Text
27 lines
1.1 KiB
Text
SET @save_pct= @@GLOBAL.innodb_max_dirty_pages_pct;
|
|
SET @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;
|
|
CREATE TABLE t(a INT) ENGINE=InnoDB STATS_PERSISTENT=0;
|
|
connect prevent_purge,localhost,root;
|
|
START TRANSACTION WITH CONSISTENT SNAPSHOT;
|
|
connection default;
|
|
SET GLOBAL innodb_max_purge_lag_wait=0;
|
|
SET GLOBAL innodb_max_dirty_pages_pct=90.0;
|
|
SELECT variable_value INTO @log_writes FROM information_schema.global_status
|
|
WHERE variable_name='innodb_log_writes';
|
|
BEGIN;
|
|
ROLLBACK;
|
|
SELECT if(variable_value-@log_writes<500,'ok',variable_value-@log_writes)
|
|
FROM information_schema.global_status WHERE variable_name='innodb_log_writes';
|
|
if(variable_value-@log_writes<500,'ok',variable_value-@log_writes)
|
|
ok
|
|
disconnect prevent_purge;
|
|
SELECT variable_value>0 FROM information_schema.global_status
|
|
WHERE variable_name = 'INNODB_BUFFER_POOL_PAGES_DIRTY';
|
|
variable_value>0
|
|
1
|
|
SET GLOBAL innodb_max_dirty_pages_pct=0.0;
|
|
DROP TABLE t;
|
|
SET GLOBAL innodb_max_dirty_pages_pct = @save_pct;
|
|
SET GLOBAL innodb_max_dirty_pages_pct_lwm = @save_pct_lwm;
|