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