-
Notifications
You must be signed in to change notification settings - Fork 4k
/
Copy pathgr_acf_reset.test
121 lines (98 loc) · 5.6 KB
/
gr_acf_reset.test
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
###############################################################################
# Validate several scenarios on the UDF:
# asynchronous_connection_failover_reset
#
# Test:
# 0. This test requires three servers
# server1: group primary
# server2: group secondary
# server3: standalone server
#
# 1. Try to reset asynchronous reconnection configuration on
# a server running GR.
# It will not be allowed.
# 2. Try to reset asynchronous reconnection configuration on
# a server not running GR.
# It will be allowed.
# 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 ############################################################
--echo # 1. Try to reset asynchronous reconnection configuration on
--echo # a server running GR.
--echo # It will not be allowed.
--let $rpl_connection_name= server1
--source include/connection.inc
--source include/start_and_bootstrap_group_replication.inc
--error ER_CANT_INITIALIZE_UDF
SELECT asynchronous_connection_failover_reset();
--echo
--echo ############################################################
--echo # 2. Try to reset asynchronous reconnection configuration on
--echo # a server not running GR.
--echo # It will be allowed.
--let $rpl_connection_name= server2
--source include/connection.inc
--source include/start_group_replication.inc
--let $rpl_connection_name= server3
--source include/connection.inc
--replace_result $SERVER_MYPORT_2 SERVER_MYPORT_2 $group_replication_group_name FAILOVER_GROUP_NAME
--eval SELECT asynchronous_connection_failover_add_managed('ch1_3', 'GroupReplication', '$group_replication_group_name', '127.0.0.1', $SERVER_MYPORT_2, '', 80, 60)
--let $assert_text= 'There is one row in performance_schema.replication_asynchronous_connection_failover_managed'
--let $assert_cond= [SELECT COUNT(*) count FROM performance_schema.replication_asynchronous_connection_failover_managed, count, 1] = 1
--source include/assert.inc
--let $assert_text= 'The version of replication_asynchronous_connection_failover_managed must be 1'
--let $assert_cond= [SELECT version FROM performance_schema.replication_group_configuration_version WHERE name=\'replication_asynchronous_connection_failover_managed\', version, 1] = 1
--source include/assert.inc
--let $assert_text= 'There is one row in performance_schema.replication_asynchronous_connection_failover'
--let $assert_cond= [SELECT COUNT(*) count FROM performance_schema.replication_asynchronous_connection_failover, count, 1] = 1
--source include/assert.inc
--let $assert_text= 'The version of replication_asynchronous_connection_failover must be 1'
--let $assert_cond= [SELECT version FROM performance_schema.replication_group_configuration_version WHERE name=\'replication_asynchronous_connection_failover\', version, 1] = 1
--source include/assert.inc
--replace_result $SERVER_MYPORT_1 SERVER_1_PORT
--eval CHANGE REPLICATION SOURCE TO SOURCE_HOST='127.0.0.1', SOURCE_USER='root', SOURCE_AUTO_POSITION=1, SOURCE_CONNECTION_AUTO_FAILOVER=1, SOURCE_PORT=$SERVER_MYPORT_1, SOURCE_CONNECT_RETRY=1, SOURCE_RETRY_COUNT=2 FOR CHANNEL 'ch1_3'
--let $rpl_channel_name='ch1_3'
--source include/rpl/start_replica.inc
--let $rpl_channel_name=
--let $wait_condition= SELECT COUNT(*)=2 FROM performance_schema.replication_asynchronous_connection_failover
--source include/wait_condition.inc
--let $assert_text= 'The version of replication_asynchronous_connection_failover must be 2 or greater'
--let $assert_cond= [SELECT version FROM performance_schema.replication_group_configuration_version WHERE name=\'replication_asynchronous_connection_failover\', version, 1] >= 2
--source include/assert.inc
--let $rpl_channel_name='ch1_3'
--source include/rpl/stop_replica.inc
--let $rpl_channel_name=
# Reset asynchronous reconnection configuration
SELECT asynchronous_connection_failover_reset();
--let $assert_text= 'There is no row in performance_schema.replication_asynchronous_connection_failover_managed'
--let $assert_cond= [SELECT COUNT(*) count FROM performance_schema.replication_asynchronous_connection_failover_managed, count, 1] = 0
--source include/assert.inc
--let $assert_text= 'There is no version of replication_asynchronous_connection_failover_managed'
--let $assert_cond= [SELECT COUNT(*) count FROM performance_schema.replication_group_configuration_version WHERE name=\'replication_asynchronous_connection_failover_managed\', count, 1] = 0
--source include/assert.inc
--let $assert_text= 'There is no row in performance_schema.replication_asynchronous_connection_failover'
--let $assert_cond= [SELECT COUNT(*) count FROM performance_schema.replication_asynchronous_connection_failover, count, 1] = 0
--source include/assert.inc
--let $assert_text= 'There is no version of replication_asynchronous_connection_failover'
--let $assert_cond= [SELECT COUNT(*) count FROM performance_schema.replication_group_configuration_version WHERE name=\'replication_asynchronous_connection_failover\', count, 1] = 0
--source include/assert.inc
--echo
--echo ############################################################
--echo # 3. Clean up.
--let $rpl_connection_name= server3
--source include/connection.inc
--let $rpl_reset_slave_all= 1
--let $rpl_multi_source= 1
--let $rpl_channel_name='ch1_3'
--source include/rpl/reset_replica.inc
--let $rpl_channel_name=
--let $rpl_reset_slave_all=
--let $rpl_multi_source=
--let $rpl_skip_sync= 1
--let $rpl_only_running_threads= 1
--source include/group_replication_end.inc