#
# MDEV-5345 - Deadlock between mysql_change_user(), SHOW VARIABLES and
# INSTALL PLUGIN
#
CREATE PROCEDURE p_install(x INT)
BEGIN
DECLARE CONTINUE HANDLER FOR 1126 BEGIN END;
WHILE x DO
SET x= x - 1 ;
INSTALL PLUGIN no_such_plugin SONAME 'no_such_object' ;
END WHILE;
END|
CREATE PROCEDURE p_show_vars(x INT)
WHILE x DO
SET x= x - 1 ;
SHOW VARIABLES;
END WHILE|
connect con1, localhost, root,,;
connect con2, localhost, root,,;
connection con1;
CALL p_install(100 );
connection con2;
CALL p_show_vars(100 );
connection default;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
change_user root,,test;
connection con1;
connection con2;
connection default;
disconnect con1;
disconnect con2;
USE test;
DROP PROCEDURE p_install;
DROP PROCEDURE p_show_vars;
#
# Bug#29363867 : LOST CONNECTION TO MYSQL SERVER DURING QUERY
#
## prepared SET with a plugin variable prevents uninstall
install plugin query_response_time soname 'query_response_time' ;
prepare s from 'set global query_response_time_range_base=16' ;
select plugin_status from information_schema.plugins where plugin_name='query_response_time' ;
plugin_status
ACTIVE
uninstall plugin query_response_time;
Warnings:
Warning 1620 Plugin is busy and will be uninstalled on shutdown
execute s;
execute s;
select plugin_status from information_schema.plugins where plugin_name='query_response_time' ;
plugin_status
DELETED
deallocate prepare s;
select plugin_status from information_schema.plugins where plugin_name='query_response_time' ;
plugin_status
## prepared SET mentioning a plugin otherwise does not prevent uninstall
install plugin archive soname 'ha_archive' ;
create table t1 (a int) engine=archive;
insert t1 values (1 ),(2 ),(3 );
prepare s from 'set session auto_increment_increment=(select count(*) from t1)' ;
flush tables;
select plugin_status from information_schema.plugins where plugin_name='archive' ;
plugin_status
ACTIVE
uninstall plugin archive;
select plugin_status from information_schema.plugins where plugin_name='archive' ;
plugin_status
execute s;
ERROR 42000 : Unknown storage engine 'ARCHIVE'
drop table t1;
Messung V0.5 in Prozent C=17 H=100 G=71
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-10-08)
¤
*© Formatika GbR, Deutschland