mirror of
https://github.com/MariaDB/server.git
synced 2025-02-09 23:24:11 +01:00
45 lines
1.6 KiB
Text
45 lines
1.6 KiB
Text
#
|
|
# The purpose of this test is to verify that if an exception is
|
|
# thrown from gcomm background thread, the provider terminates properly
|
|
# and wsrep_ready becomes 0.
|
|
#
|
|
|
|
--source include/have_innodb.inc
|
|
--source include/galera_cluster.inc
|
|
--source include/galera_have_debug_sync.inc
|
|
|
|
# Save original auto_increment_offset values.
|
|
--let $node_1=node_1
|
|
--let $node_2=node_2
|
|
--source include/auto_increment_offset_save.inc
|
|
|
|
# Force node_2 gcomm background thread to terminate via exception.
|
|
--connection node_2
|
|
--let $wsrep_cluster_address = `SELECT @@wsrep_cluster_address`
|
|
# Setting gmcast.isolate=2 will force gcomm background thread to
|
|
# throw exception.
|
|
SET SESSION wsrep_sync_wait = 0;
|
|
SET GLOBAL wsrep_provider_options="gmcast.isolate=2";
|
|
|
|
# Wait until wsrep_ready becomes 0.
|
|
--let $wait_condition = SELECT VARIABLE_VALUE = 0 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME ='wsrep_ready'
|
|
--source include/wait_condition.inc
|
|
|
|
# Wait until node_1 ends up in non-prim and rebootstrap the cluster.
|
|
--connection node_1
|
|
SET SESSION wsrep_sync_wait = 0;
|
|
--let $wait_condition = SELECT VARIABLE_VALUE = 1 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME ='wsrep_cluster_size'
|
|
--source include/wait_condition.inc
|
|
SHOW STATUS LIKE 'wsrep_cluster_status';
|
|
SET SESSION wsrep_sync_wait = default;
|
|
SET GLOBAL wsrep_provider_options="pc.bootstrap=1";
|
|
|
|
# Restart node_2
|
|
--connection node_2
|
|
SET SESSION wsrep_on=0;
|
|
--source include/restart_mysqld.inc
|
|
|
|
--connection node_2
|
|
CALL mtr.add_suppression("WSREP: exception from gcomm, backend must be restarted: Gcomm backend termination was requested by setting gmcast\\.isolate=2\\.");
|
|
|
|
--source include/auto_increment_offset_restore.inc
|