mirror of
https://github.com/MariaDB/server.git
synced 2025-06-04 18:03:14 +03:00
buf_pool_resize(): Simplify the fault injection for innodb.buf_pool_resize_oom. innodb.buf_pool_resize_oom: Use a small buffer pool. innodb.innodb_buffer_pool_load_now: Make use of the sequence engine, to avoid creating explicit InnoDB record locks. Clean up the accesses to information_schema.innodb_buffer_page_lru.
51 lines
1.8 KiB
Plaintext
51 lines
1.8 KiB
Plaintext
SET GLOBAL innodb_buffer_pool_dump_pct=100;
|
|
CREATE TABLE ib_bp_test
|
|
(a INT AUTO_INCREMENT, b VARCHAR(64), c TEXT, PRIMARY KEY (a), KEY (b, c(128)))
|
|
ENGINE=INNODB;
|
|
SELECT PAGE_NUMBER FROM information_schema.innodb_buffer_page_lru
|
|
WHERE table_name = '`test`.`ib_bp_test`';
|
|
PAGE_NUMBER
|
|
3
|
|
4
|
|
SELECT SPACE INTO @space FROM information_schema.innodb_buffer_page_lru
|
|
WHERE table_name = '`test`.`ib_bp_test`' AND PAGE_NUMBER=3;
|
|
INSERT INTO ib_bp_test
|
|
SELECT NULL, REPEAT('b', 64), REPEAT('c', 256) FROM seq_1_to_16382;
|
|
SELECT COUNT(*) FROM information_schema.innodb_buffer_page_lru
|
|
WHERE table_name = '`test`.`ib_bp_test`';
|
|
COUNT(*)
|
|
596
|
|
SET GLOBAL innodb_buffer_pool_dump_now = ON;
|
|
SET GLOBAL innodb_fast_shutdown=0;
|
|
SELECT PAGE_NUMBER FROM information_schema.innodb_buffer_page_lru
|
|
WHERE table_name = '`test`.`ib_bp_test`';
|
|
PAGE_NUMBER
|
|
select count(*) from ib_bp_test LIMIT 0;
|
|
count(*)
|
|
SET GLOBAL innodb_buffer_pool_load_now = ON;
|
|
SELECT variable_value
|
|
FROM information_schema.global_status
|
|
WHERE LOWER(variable_name) = 'innodb_buffer_pool_load_status';
|
|
variable_value
|
|
Buffer pool(s) load completed at TIMESTAMP_NOW
|
|
SELECT COUNT(*) FROM information_schema.innodb_buffer_page_lru
|
|
WHERE table_name = '`test`.`ib_bp_test`';
|
|
COUNT(*)
|
|
596
|
|
call mtr.add_suppression("InnoDB: Error parsing");
|
|
SET GLOBAL innodb_buffer_pool_load_now = ON;
|
|
# Re-write some valid pages to the dump file, make sure the space
|
|
# should be valid but all the page no should be out of bound of the file
|
|
SET GLOBAL innodb_buffer_pool_load_now = ON;
|
|
SELECT variable_value
|
|
FROM information_schema.global_status
|
|
WHERE LOWER(variable_name) = 'innodb_buffer_pool_load_status';
|
|
variable_value
|
|
Buffer pool(s) load completed at TIMESTAMP_NOW
|
|
DROP TABLE ib_bp_test;
|
|
SET GLOBAL innodb_buffer_pool_dump_pct=default;
|
|
#
|
|
# Bug#21371070 [ERROR] INNODB: CANNOT ALLOCATE 0 BYTES: SUCCESS
|
|
#
|
|
SET GLOBAL innodb_buffer_pool_load_now = ON;
|