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
|
###############################################################################
# Validate that UDFs
# asynchronous_connection_failover_reset
# asynchronous_connection_failover_add_source
# asynchronous_connection_failover_delete_source
# asynchronous_connection_failover_add_managed
# asynchronous_connection_failover_delete_managed
# cannot be changed on a Group Replication secondary member.
#
# Test:
# 0. This test requires two servers
# 1. Try to enable and disable a replication failover configuration
# on a secondary.
# It will not be allowed.
# 2. Check that configuration was not changed.
# 3. Clean up
###############################################################################
--source include/have_group_replication_plugin.inc
--let $rpl_skip_group_replication_start= 1
--let $rpl_group_replication_single_primary_mode=1
--source include/group_replication.inc
--echo ############################################################
--echo # 1. Try to enable and disable a replication failover configuration
--echo # on a secondary.
--echo # It will not be allowed.
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
--source include/start_and_bootstrap_group_replication.inc
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
--source include/start_group_replication.inc
--source include/gr_assert_secondary_member.inc
--error ER_CANT_INITIALIZE_UDF
SELECT asynchronous_connection_failover_reset();
--error ER_CANT_INITIALIZE_UDF
SELECT asynchronous_connection_failover_add_source('ch1', '127.0.0.1', 3306, '', 50);
--error ER_CANT_INITIALIZE_UDF
SELECT asynchronous_connection_failover_delete_source('ch1', '127.0.0.1', 3306, '');
--error ER_CANT_INITIALIZE_UDF
SELECT asynchronous_connection_failover_add_managed('ch1', 'GroupReplication', 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa','127.0.0.1', 3306, '', 80, 60);
--error ER_CANT_INITIALIZE_UDF
SELECT asynchronous_connection_failover_delete_managed('ch1', 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');
--error ER_OPERATION_NOT_ALLOWED_ON_GR_SECONDARY
CHANGE REPLICATION SOURCE TO SOURCE_AUTO_POSITION=1, SOURCE_CONNECTION_AUTO_FAILOVER=1 FOR CHANNEL 'ch1';
--echo
--echo ############################################################
--echo # 2. Check that configuration was not changed.
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
--let $assert_text= There must be no failover sources
--let $assert_cond= [SELECT COUNT(*) FROM performance_schema.replication_asynchronous_connection_failover] = 0
--source include/assert.inc
--let $assert_text= There must be no failover managed sources
--let $assert_cond= [SELECT COUNT(*) FROM performance_schema.replication_asynchronous_connection_failover_managed] = 0
--source include/assert.inc
--let $assert_text= 'There is no replication channel ch1'
--let $assert_cond= [SELECT COUNT(*) AS count FROM performance_schema.replication_connection_status where CHANNEL_NAME="ch1", count, 1] = 0
--source include/assert.inc
--echo
--echo ############################################################
--echo # 3. Clean up.
--source include/group_replication_end.inc
|