mariadb/mysql-test/suite/innodb/t/page_cleaner.test
2024-10-03 16:09:56 +03:00

42 lines
1.3 KiB
Text

--source include/have_innodb.inc
--source include/have_sequence.inc
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;
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=90.0;
--disable_cursor_protocol
select variable_value into @innodb_async_writes_total_count_before
from information_schema.global_status
where variable_name='innodb_async_writes_total_count';
--enable_cursor_protocol
CREATE TABLE t ENGINE=InnoDB SELECT * FROM seq_1_to_10000;
SELECT variable_value>0 FROM information_schema.global_status
WHERE variable_name = 'INNODB_BUFFER_POOL_PAGES_DIRTY';
SET GLOBAL innodb_max_dirty_pages_pct=0.0;
# Without the MDEV-24917 fix, we would time out here.
--source include/wait_condition.inc
select (cast(variable_value as unsigned) >
cast(@innodb_async_writes_total_count_before as unsigned))
as innodb_async_writes_grow
from information_schema.global_status
where variable_name='innodb_async_writes_total_count';
DROP TABLE t;
SET GLOBAL innodb_max_dirty_pages_pct = @save_pct;
SET GLOBAL innodb_max_dirty_pages_pct_lwm = @save_pct_lwm;