mirror of
https://github.com/MariaDB/server.git
synced 2025-07-08 17:02:21 +03:00
WL#775 "Add status variable identifying binlog_cache_size shortage"
Added two status variables: binlog_cache_use - counts number of transactions that used somehow transaction temporary binary log. binlog_cache_disk_use - counts number of transactions that required disk I/O for storing info in this this binary log.
This commit is contained in:
@ -16,4 +16,19 @@ master_pos_wait('master-bin.001',3000)>=0
|
||||
select * from t1 where a=8000;
|
||||
a
|
||||
8000
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 1
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 1
|
||||
begin;
|
||||
delete from t1;
|
||||
commit;
|
||||
show status like "binlog_cache_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_use 2
|
||||
show status like "binlog_cache_disk_use";
|
||||
Variable_name Value
|
||||
Binlog_cache_disk_use 1
|
||||
drop table t1;
|
||||
|
1
mysql-test/t/rpl_relayrotate-master.opt
Normal file
1
mysql-test/t/rpl_relayrotate-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--binlog_cache_size=32768
|
@ -58,6 +58,24 @@ start slave;
|
||||
select master_pos_wait('master-bin.001',3000)>=0;
|
||||
select * from t1 where a=8000;
|
||||
|
||||
connection master;
|
||||
|
||||
# binlog_cache_use and binlog_cache_disk_use status vars test
|
||||
# This test uses the previous test. Namely, it needs the long
|
||||
# transaction that adds 8000 lines to the t1 table.
|
||||
|
||||
show status like "binlog_cache_use";
|
||||
show status like "binlog_cache_disk_use";
|
||||
|
||||
# transaction which should not be flushed to disk and so should not
|
||||
# increase binlog_cache_disk_use
|
||||
begin;
|
||||
delete from t1;
|
||||
commit;
|
||||
|
||||
show status like "binlog_cache_use";
|
||||
show status like "binlog_cache_disk_use";
|
||||
|
||||
# The following DROP is a very important cleaning task:
|
||||
# imagine the next test is run with --skip-innodb: it will do
|
||||
# DROP TABLE IF EXISTS t1; but this will delete the frm and leave
|
||||
@ -68,3 +86,7 @@ select * from t1 where a=8000;
|
||||
# InnoDB: Error: table t1 already exists in InnoDB internal
|
||||
# InnoDB: data dictionary. Have you deleted the .frm file etc
|
||||
drop table t1;
|
||||
# wait until this drop is executed on slave
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
|
Reference in New Issue
Block a user