MINI MINI MANI MO
# ==== Purpose ====
#
# Verify that 'UNINSTALL PLUGIN' and 'STOP GROUP_REPLICATION' commands
# don't run in parallel in mysql 5.7.
#
# ==== Implementation ====
#
# 1. Configure two servers to be members of a group.
# 2. Starts and bootstraps a group on the current server.
# 3. UNINSTALL PLUGIN group_replication and stop PLUGIN group_replication
# in parallel.
# 4. INSTALL PLUGIN group_replication.
# 5. Shut down Group Replication.
#
# ==== References ====
#
# Bug #23853388 CRASH WHILE DESTROYING A LOCKED MUTEX ON PARALLEL UNINSTALL AND START GR CMD
--source include/force_restart.inc
--source ../inc/have_group_replication_plugin.inc
--let $rpl_skip_group_replication_start= 1
--source ../inc/group_replication.inc
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
SET SESSION sql_log_bin= 0;
call mtr.add_suppression("Group Replication plugin is not installed.");
SET SESSION sql_log_bin= 1;
--source ../inc/start_and_bootstrap_group_replication.inc
## Warnings depends upon sequence of execution of
## query "STOP GROUP_REPLICATION" and "UNINSTALL PLUGIN group_replication"
--disable_warnings
--send UNINSTALL PLUGIN group_replication
--let $rpl_connection_name= server_1
--source include/rpl_connection.inc
--echo #
--echo # STOP GROUP_REPLICATION in parallel.
--echo #
## Uninstall will fail as STOP GR is already running.
--error 0, ER_GROUP_REPLICATION_CONFIGURATION
STOP GROUP_REPLICATION;
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
--error 0, ER_PLUGIN_CANNOT_BE_UNINSTALLED
--reap
--enable_warnings
SET @@GLOBAL.read_only= 0;
# The previous UNINSTALL attempt may have failed due to SUPER_READ_ONLY=1, as
# such we uninstall the plugin again.
--error 0, ER_SP_DOES_NOT_EXIST
UNINSTALL PLUGIN group_replication;
--replace_result $GROUP_REPLICATION GROUP_REPLICATION
--eval INSTALL PLUGIN group_replication SONAME '$GROUP_REPLICATION'
--source ../inc/group_replication_end.inc
OHA YOOOO