1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
############################################################
# WL#9426: Single Primary Mode in Group Replication
#
# This test verifies some incompatible configuration modes
# servers join the group. E.g., some have primary mode off
# while the group is operating in single primary mode.
#
############################################################
--source include/big_test.inc
--source include/have_group_replication_plugin.inc
--source include/force_restart.inc
--let $rpl_skip_group_replication_start= 1
--let $rpl_group_replication_single_primary_mode=1
--source include/group_replication.inc
--echo
--echo ## START MASTER SERVER 1 (SINGLE PRIMARY)
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
SET GLOBAL group_replication_enforce_update_everywhere_checks= 0;
SET GLOBAL group_replication_single_primary_mode= 1;
--source include/start_and_bootstrap_group_replication.inc
--echo
--echo ## TRY TO START SERVER 2 (INVALID CONFIGURATION 1 - MULTI MASTER + NO ENFORCE CHECK)
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
SET SQL_LOG_BIN=0;
call mtr.add_suppression("The member configuration is not compatible with the group configuration. .* .member configuration option: \\[\\], group configuration option: \\[group_replication_single_primary_mode\\].");
call mtr.add_suppression("The member configuration is not compatible with the group configuration. .* .member configuration option: \\[group_replication_enforce_update_everywhere_checks\\], group configuration option: \\[group_replication_single_primary_mode\\].");
call mtr.add_suppression("The member configuration is not compatible with the group configuration. .* .member configuration option: \\[\\], group configuration option: \\[group_replication_enforce_update_everywhere_checks\\].");
call mtr.add_suppression("The member configuration is not compatible with the group configuration. .* .member configuration option: \\[group_replication_single_primary_mode\\], group configuration option: \\[group_replication_enforce_update_everywhere_checks\\].");
call mtr.add_suppression("The member configuration is not compatible with the group configuration. .* .member configuration option: \\[group_replication_enforce_update_everywhere_checks\\], group configuration option: \\[\\].");
call mtr.add_suppression("The member configuration is not compatible with the group configuration. .* .member configuration option: \\[group_replication_single_primary_mode\\], group configuration option: \\[\\].");
call mtr.add_suppression("This member joined a group on which all members do not support member actions, as such it did reset its member configuration to the default one.");
call mtr.add_suppression("This member joined a group on which all members do not support replication failover channels integration on Group Replication, as such it did reset its replication failover channels configuration to the default one.");
SET SQL_LOG_BIN=1;
SET GLOBAL group_replication_enforce_update_everywhere_checks= 0;
SET GLOBAL group_replication_single_primary_mode= 0;
--replace_result $group_replication_group_name GROUP_REPLICATION_GROUP_NAME
--eval SET GLOBAL group_replication_group_name= "$group_replication_group_name"
--error ER_GROUP_REPLICATION_CONFIGURATION
START GROUP_REPLICATION;
--echo
--echo ## TRY TO START SERVER 2 (INVALID CONFIGURATION 2 - MULTI MASTER + ENFORCE CHECK)
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
SET GLOBAL group_replication_enforce_update_everywhere_checks= 1;
SET GLOBAL group_replication_single_primary_mode= 0;
--error ER_GROUP_REPLICATION_CONFIGURATION
START GROUP_REPLICATION;
--echo
--echo ## RESTART MASTER SERVER 1 (MULTI MASTER + ENFORCED CHECK)
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
--source include/stop_group_replication.inc
SET GLOBAL group_replication_single_primary_mode= 0;
SET GLOBAL group_replication_enforce_update_everywhere_checks= 1;
--source include/start_and_bootstrap_group_replication.inc
--echo
--echo ## TRY TO START SERVER 2 (INVALID CONFIGURATION 3 - MULTI MASTER + NO ENFORCED CHECK)
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
SET GLOBAL group_replication_enforce_update_everywhere_checks= 0;
SET GLOBAL group_replication_single_primary_mode= 0;
--error ER_GROUP_REPLICATION_CONFIGURATION
START GROUP_REPLICATION;
--echo
--echo ## TRY TO START SERVER 2 (INVALID CONFIGURATION 4 - SINGLE MASTER + NO ENFORCED CHECK)
SET GLOBAL group_replication_enforce_update_everywhere_checks= 0;
SET GLOBAL group_replication_single_primary_mode= 1;
--error ER_GROUP_REPLICATION_CONFIGURATION
START GROUP_REPLICATION;
--echo
--echo ## TRY TO START SERVER 2 (VALID CONFIGURATION 5 - MULTI MASTER + ENFORCED CHECK)
SET GLOBAL group_replication_single_primary_mode= 0;
SET GLOBAL group_replication_enforce_update_everywhere_checks= 1;
--source include/start_group_replication.inc
--source include/stop_group_replication.inc
--echo
--echo ## RESTART MASTER SERVER 1 (MULTI MASTER + NO ENFORCED CHECK)
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
--source include/stop_group_replication.inc
SET GLOBAL group_replication_single_primary_mode= 0;
SET GLOBAL group_replication_enforce_update_everywhere_checks= 0;
--source include/start_and_bootstrap_group_replication.inc
--echo
--echo ## TRY TO START SERVER 2 (INVALID CONFIGURATION 6 - SINGLE MASTER + NO ENFORCED CHECK)
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
SET GLOBAL group_replication_enforce_update_everywhere_checks= 0;
SET GLOBAL group_replication_single_primary_mode= 1;
--error ER_GROUP_REPLICATION_CONFIGURATION
START GROUP_REPLICATION;
--echo
--echo ## TRY TO START SERVER 2 (INVALID CONFIGURATION 7 - MULTI MASTER + ENFORCE CHECK)
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
SET GLOBAL group_replication_single_primary_mode= 0;
SET GLOBAL group_replication_enforce_update_everywhere_checks= 1;
--error ER_GROUP_REPLICATION_CONFIGURATION
START GROUP_REPLICATION;
--echo
--echo ## TRY TO START SERVER 2 (VALID CONFIGURATION 8 - MULTI MASTER + NO ENFORCED CHECK)
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
SET GLOBAL group_replication_enforce_update_everywhere_checks= 0;
SET GLOBAL group_replication_single_primary_mode= 0;
--source include/start_group_replication.inc
--let $server_num= 2
while($server_num>0)
{
--let $rpl_connection_name= server$server_num
--source include/rpl_connection.inc
--source include/stop_group_replication.inc
--dec $server_num
}
--source include/group_replication_end.inc
|