mirror of
https://github.com/MariaDB/server.git
synced 2025-02-04 21:02:17 +01:00
97 lines
2.8 KiB
Text
97 lines
2.8 KiB
Text
# 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.
|
|
--disable_cursor_protocol
|
|
--enable_prepare_warnings
|
|
select ID from INFORMATION_SCHEMA.PROCESSLIST
|
|
where COMMAND = "Binlog Dump"
|
|
into @master_dump_pid;
|
|
--disable_prepare_warnings
|
|
--enable_cursor_protocol
|
|
|
|
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.
|
|
--disable_cursor_protocol
|
|
--enable_prepare_warnings
|
|
select ID from INFORMATION_SCHEMA.PROCESSLIST
|
|
where STATE like "Waiting for master to send event%"
|
|
into @slave_io_pid;
|
|
--disable_prepare_warnings
|
|
--enable_cursor_protocol
|
|
|
|
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.
|
|
--disable_cursor_protocol
|
|
--enable_prepare_warnings
|
|
select ID from INFORMATION_SCHEMA.PROCESSLIST
|
|
where STATE like "Slave has read all relay log%"
|
|
into @slave_sql_pid;
|
|
--disable_prepare_warnings
|
|
--enable_cursor_protocol
|
|
|
|
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;
|
|
|
|
--echo #
|
|
--echo # MDEV-33031 Assertion failure upon reading from performance schema with binlog enabled
|
|
--echo #
|
|
select variable_name, variable_value from performance_schema.status_by_thread
|
|
where variable_name like '%impossible%'; # should not crash
|
|
|
|
--source include/rpl_end.inc
|
|
|