55 lines
2.1 KiB
Plaintext
55 lines
2.1 KiB
Plaintext
#
|
|
# Tests of the dedicated thread for refreshing the rules table.
|
|
#
|
|
SET sql_mode = 'PIPES_AS_CONCAT';
|
|
Warnings:
|
|
Warning 3090 Changing sql mode 'NO_AUTO_CREATE_USER' is deprecated. It will be removed in a future release.
|
|
Warnings:
|
|
Warning 1681 'RESET QUERY CACHE' is deprecated and will be removed in a future release.
|
|
Warnings:
|
|
Warning 1681 'RESET QUERY CACHE' is deprecated and will be removed in a future release.
|
|
# Query rewrite plugin was installed.
|
|
#
|
|
# We will now test shutting down the server while refreshing rules. We
|
|
# then restart the server and make sure it recovered.
|
|
#
|
|
# We will shut down the server while a session is waiting for a debug
|
|
# sync signal. All debug sync points are released during shutdown,
|
|
# so the plugin will proceed to try and read from a handler with a server
|
|
# that has gone away. This will lead to a storage engine error.
|
|
CALL mtr.add_suppression( "Got error from storage engine while refreshing " ||
|
|
"rewrite rules." );
|
|
INSERT INTO query_rewrite.rewrite_rules ( pattern, replacement )
|
|
VALUES ( 'SELECT "Rewrite"', 'SELECT "Rewritten"' );
|
|
SET GLOBAL debug= '+d,dbug.block_do_refresh';
|
|
SHOW PROCESSLIST;
|
|
Id User Host db Command Time State Info
|
|
<id> root <host> <db> <command> <time> <state> <info>
|
|
<id> root <host> <db> <command> <time> <state> <info>
|
|
# We have to do this in order to avoid deadlock on the memory table's
|
|
# mutex.
|
|
SET @@global.rewriter_enabled = OFF;
|
|
CALL query_rewrite.flush_rewrite_rules();
|
|
# We don't care if we time out here, as long as we manage to restart the
|
|
# server.
|
|
SET debug_sync = 'now WAIT_FOR parked';
|
|
SHOW PROCESSLIST;
|
|
Id User Host db Command Time State Info
|
|
<id> root <host> <db> <command> <time> <state> <info>
|
|
<id> root <host> <db> <command> <time> <state> <info>
|
|
#
|
|
# Restart the server
|
|
#
|
|
SELECT 'Rewrite';
|
|
Rewritten
|
|
Rewritten
|
|
Warnings:
|
|
Note 1105 Query 'SELECT 'Rewrite'' rewritten to 'SELECT "Rewritten"' by a query rewrite plugin
|
|
SHOW PROCESSLIST;
|
|
Id User Host db Command Time State Info
|
|
<id> root <host> <db> <command> <time> <state> <info>
|
|
SET @@global.rewriter_enabled = DEFAULT;
|
|
Warnings:
|
|
Warning 1620 Plugin is busy and will be uninstalled on shutdown
|
|
# Query rewrite plugin was queued for uninstalling.
|