Browse Source
MDEV-8303; Dumping buffer pool noisy in the logs.
MDEV-8303; Dumping buffer pool noisy in the logs.
Added new dynamic configuration variable innodb_buf_dump_status_frequency to configure how often buffer pool dump status is printed in the logs. A number between [0, 100] that tells how oftern buffer pool dump status in percentages should be printed. E.g. 10 means that buffer pool dump status is printed when every 10% of number of buffer pool pages are dumped. Default is 0 (only start and end status is printed).pull/79/head
10 changed files with 137 additions and 2 deletions
-
42mysql-test/suite/sys_vars/r/innodb_buf_dump_status_frequency_basic.result
-
39mysql-test/suite/sys_vars/t/innodb_buf_dump_status_frequency_basic.test
-
14storage/innobase/buf/buf0dump.cc
-
9storage/innobase/handler/ha_innodb.cc
-
3storage/innobase/include/srv0srv.h
-
3storage/innobase/srv/srv0srv.cc
-
14storage/xtradb/buf/buf0dump.cc
-
9storage/xtradb/handler/ha_innodb.cc
-
3storage/xtradb/include/srv0srv.h
-
3storage/xtradb/srv/srv0srv.cc
@ -0,0 +1,42 @@ |
|||
SET @start_innodb_buf_dump_status_frequency = @@global.innodb_buf_dump_status_frequency; |
|||
SELECT @start_innodb_buf_dump_status_frequency; |
|||
@start_innodb_buf_dump_status_frequency |
|||
0 |
|||
SELECT COUNT(@@global.innodb_buf_dump_status_frequency); |
|||
COUNT(@@global.innodb_buf_dump_status_frequency) |
|||
1 |
|||
SET @@global.innodb_buf_dump_status_frequency = 20; |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
@@global.innodb_buf_dump_status_frequency |
|||
20 |
|||
SET @@global.innodb_buf_dump_status_frequency = 0; |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
@@global.innodb_buf_dump_status_frequency |
|||
0 |
|||
SET @@global.innodb_buf_dump_status_frequency = 100; |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
@@global.innodb_buf_dump_status_frequency |
|||
100 |
|||
SET @@global.innodb_buf_dump_status_frequency = -1; |
|||
Warnings: |
|||
Warning 1292 Truncated incorrect innodb_buf_dump_status_frequency value: '-1' |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
@@global.innodb_buf_dump_status_frequency |
|||
0 |
|||
SET @@global.innodb_buf_dump_status_frequency = 101; |
|||
Warnings: |
|||
Warning 1292 Truncated incorrect innodb_buf_dump_status_frequency value: '101' |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
@@global.innodb_buf_dump_status_frequency |
|||
100 |
|||
SET @@global.innodb_buf_dump_status_frequency = 10.5; |
|||
ERROR 42000: Incorrect argument type to variable 'innodb_buf_dump_status_frequency' |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
@@global.innodb_buf_dump_status_frequency |
|||
100 |
|||
SET @@global.innodb_buf_dump_status_frequency = "abc"; |
|||
ERROR 42000: Incorrect argument type to variable 'innodb_buf_dump_status_frequency' |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
@@global.innodb_buf_dump_status_frequency |
|||
100 |
|||
SET @@global.innodb_buf_dump_status_frequency = @start_innodb_buf_dump_status_frequency; |
|||
@ -0,0 +1,39 @@ |
|||
--source include/have_innodb.inc |
|||
--source include/load_sysvars.inc |
|||
|
|||
SET @start_innodb_buf_dump_status_frequency = @@global.innodb_buf_dump_status_frequency; |
|||
SELECT @start_innodb_buf_dump_status_frequency; |
|||
|
|||
SELECT COUNT(@@global.innodb_buf_dump_status_frequency); |
|||
|
|||
# test valid value |
|||
SET @@global.innodb_buf_dump_status_frequency = 20; |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
|
|||
# test valid min |
|||
SET @@global.innodb_buf_dump_status_frequency = 0; |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
|
|||
# test valid max |
|||
SET @@global.innodb_buf_dump_status_frequency = 100; |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
|
|||
# test invalid value < min |
|||
SET @@global.innodb_buf_dump_status_frequency = -1; |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
|
|||
# test invalid value > max |
|||
SET @@global.innodb_buf_dump_status_frequency = 101; |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
|
|||
# test wrong type |
|||
--Error ER_WRONG_TYPE_FOR_VAR |
|||
SET @@global.innodb_buf_dump_status_frequency = 10.5; |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
|
|||
--Error ER_WRONG_TYPE_FOR_VAR |
|||
SET @@global.innodb_buf_dump_status_frequency = "abc"; |
|||
SELECT @@global.innodb_buf_dump_status_frequency; |
|||
|
|||
SET @@global.innodb_buf_dump_status_frequency = @start_innodb_buf_dump_status_frequency; |
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue