mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
P_S 5.7.28
This commit is contained in:
79
mysql-test/suite/perfschema/t/rpl_threads.test
Normal file
79
mysql-test/suite/perfschema/t/rpl_threads.test
Normal file
@ -0,0 +1,79 @@
|
||||
# Tests for PERFORMANCE_SCHEMA
|
||||
|
||||
--source include/have_log_bin.inc
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists test.t1;
|
||||
--sync_slave_with_master
|
||||
reset master;
|
||||
--enable_warnings
|
||||
|
||||
create table test.t1(a int);
|
||||
drop table test.t1;
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
# Notes
|
||||
#
|
||||
# The point of this test is to make sure code is properly instrumented,
|
||||
# for replication threads.
|
||||
# Each time an ID is assigned to a replication thread,
|
||||
# visible in the INFORMATION_SCHEMA.PROCESSLIST table,
|
||||
# the same PROCESSLIST_ID should be visible in table performance_schema.threads
|
||||
|
||||
connection master;
|
||||
-- echo "============ Performance schema on master ============"
|
||||
|
||||
# Read the ID of the binlog dump connection,
|
||||
# as exposed in PROCESSLIST.
|
||||
select ID from INFORMATION_SCHEMA.PROCESSLIST
|
||||
where COMMAND = "Binlog Dump"
|
||||
into @master_dump_pid;
|
||||
|
||||
select COMMAND, STATE
|
||||
from INFORMATION_SCHEMA.PROCESSLIST
|
||||
where ID = @master_dump_pid;
|
||||
|
||||
# Make sure the performance schema also knows this PROCESSLIST_ID
|
||||
select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE
|
||||
from performance_schema.threads
|
||||
where PROCESSLIST_ID = @master_dump_pid;
|
||||
|
||||
sync_slave_with_master;
|
||||
-- echo "============ Performance schema on slave ============"
|
||||
|
||||
# Read the ID of the SLAVE IO thread,
|
||||
# as exposed in PROCESSLIST.
|
||||
select ID from INFORMATION_SCHEMA.PROCESSLIST
|
||||
where STATE like "Waiting for master to send event%"
|
||||
into @slave_io_pid;
|
||||
|
||||
select COMMAND, STATE
|
||||
from INFORMATION_SCHEMA.PROCESSLIST
|
||||
where ID = @slave_io_pid;
|
||||
|
||||
# Make sure the performance schema also knows this PROCESSLIST_ID
|
||||
select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE
|
||||
from performance_schema.threads
|
||||
where PROCESSLIST_ID = @slave_io_pid;
|
||||
|
||||
# Read the ID of the SLAVE SQL thread,
|
||||
# as exposed in PROCESSLIST.
|
||||
select ID from INFORMATION_SCHEMA.PROCESSLIST
|
||||
where STATE like "Slave has read all relay log%"
|
||||
into @slave_sql_pid;
|
||||
|
||||
select COMMAND, STATE
|
||||
from INFORMATION_SCHEMA.PROCESSLIST
|
||||
where ID = @slave_sql_pid;
|
||||
|
||||
# Make sure the performance schema also knows this PROCESSLIST_ID
|
||||
select NAME, TYPE, PROCESSLIST_COMMAND, PROCESSLIST_STATE
|
||||
from performance_schema.threads
|
||||
where PROCESSLIST_ID = @slave_sql_pid;
|
||||
|
||||
--source include/rpl_end.inc
|
||||
|
Reference in New Issue
Block a user