mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
6bd24deab4
XID cache is now based on lock-free hash. Also fixed lf_hash_destroy() to call alloc destructor. Note that previous implementation had race condition when thread was accessing XA owned by different thread. This new implementation doesn't fix it either.
85 lines
2.5 KiB
Text
85 lines
2.5 KiB
Text
# Tests for PERFORMANCE_SCHEMA
|
|
|
|
--source include/not_embedded.inc
|
|
--source include/have_perfschema.inc
|
|
|
|
# Verify that the configuration options were applied correctly to the
|
|
# performance_schema.setup_instruments table. These instruments that are known to persist across
|
|
# platforms and the various compile options.
|
|
|
|
--echo #
|
|
--echo # Verify that the configuration file defaults were processed correctly
|
|
--echo #
|
|
|
|
SELECT * FROM performance_schema.setup_instruments
|
|
WHERE name IN (
|
|
'wait/synch/mutex/sql/LOCK_user_conn',
|
|
'wait/synch/mutex/sql/LOCK_uuid_generator',
|
|
'wait/synch/mutex/sql/LOCK_plugin',
|
|
'stage/sql/creating table')
|
|
AND enabled = 'yes' AND timed = 'no'
|
|
ORDER BY name;
|
|
|
|
SELECT * FROM performance_schema.setup_instruments
|
|
WHERE name = 'wait/synch/mutex/sql/LOCK_thread_count'
|
|
AND enabled = 'no' AND timed = 'no';
|
|
|
|
SELECT * FROM performance_schema.setup_instruments
|
|
WHERE name IN (
|
|
'wait/synch/mutex/sql/LOG_INFO::lock',
|
|
'wait/synch/mutex/sql/THD::LOCK_thd_data')
|
|
AND enabled = 'yes' AND timed = 'yes'
|
|
ORDER BY name;
|
|
|
|
SELECT * FROM performance_schema.setup_instruments
|
|
WHERE name = 'wait/synch/mutex/sql/hash_filo::lock'
|
|
AND enabled = 'no' AND timed = 'no'
|
|
ORDER BY name;
|
|
|
|
--echo #
|
|
--echo # Verify that the instrument startup settings are not not visible.
|
|
--echo #
|
|
SHOW VARIABLES LIKE "%/wait/synch/mutex%";
|
|
|
|
--echo #
|
|
--echo # Verify command line options are processed correctly
|
|
--echo #
|
|
|
|
# The instrument wait/io/table/sql/handler should be enabled and timed. We will
|
|
# restart the server with the instrument disabled from the command line.
|
|
--echo #
|
|
--echo # Verify that wait/io/table/sql/handler is enabled and timed
|
|
--echo #
|
|
SELECT * FROM performance_schema.setup_instruments
|
|
WHERE name like "%wait/io/table/sql/handler%";
|
|
|
|
# Write file to make mysql-test-run.pl wait for the server to stop
|
|
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
|
|
|
# Restart the server
|
|
--echo #
|
|
--echo # Stop server
|
|
--send_shutdown
|
|
--source include/wait_until_disconnected.inc
|
|
|
|
--echo # Restart server with wait/io/table/sql/handler disabled
|
|
|
|
--exec echo "restart:--loose-performance-schema-instrument=%wait/io/table/sql/%=off" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
|
|
|
# Turn on reconnect
|
|
--echo # Enable reconnect
|
|
--enable_reconnect
|
|
|
|
# Wait for server to be back online again
|
|
--echo # Wait until connected again
|
|
--source include/wait_until_connected_again.inc
|
|
|
|
# Turn off reconnect again
|
|
--echo # Disable reconnect
|
|
--disable_reconnect
|
|
|
|
--echo #
|
|
--echo # Verify that wait/io/table is disabled
|
|
--echo #
|
|
SELECT * FROM performance_schema.setup_instruments
|
|
WHERE name like "%wait/io/table/sql/handler%";
|