Skip to content

Commit ac373b1

Browse files
author
Hemant Dangi
committed
WL#11007: Remove group_replication_primary_member status variable
In this worklog the global status variable group_replication_primary_member will be removed. It was deprecated in the 'WL#10958: Deprecate group_replication_primary_member status variable' in MySQL 8.0.4. The MEMBER_ROLE column of performance_schema.replication_group_members table can be used to identify whether member has PRIMARY or SECONDARY role. Change-Id: I5b8eec14dc44020e0c83cfd4114aefe031582c64
1 parent f59821b commit ac373b1

28 files changed

+86
-759
lines changed

mysql-test/include/gr_count_primaries_secondaries.inc

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,13 @@ while ($_i)
4141
WHERE MEMBER_ID = @@server_uuid AND
4242
MEMBER_STATE != "ERROR"`;
4343

44-
let $_is_primary= `SELECT COUNT(*)=1 FROM performance_schema.global_status
45-
WHERE VARIABLE_NAME = "group_replication_primary_member" AND
46-
VARIABLE_VALUE = @@server_uuid`;
47-
48-
let $_is_secondary= `SELECT COUNT(*)=1 FROM performance_schema.global_status
49-
WHERE VARIABLE_NAME = "group_replication_primary_member" AND
50-
VARIABLE_VALUE != @@server_uuid AND
51-
VARIABLE_VALUE != ""`;
44+
let $_is_primary= `SELECT COUNT(*)=1 FROM performance_schema.replication_group_members
45+
WHERE MEMBER_ROLE="PRIMARY" AND
46+
MEMBER_ID=@@server_uuid`;
5247

48+
let $_is_secondary= `SELECT COUNT(*)=1 FROM performance_schema.replication_group_members
49+
WHERE MEMBER_ROLE="SECONDARY" AND
50+
MEMBER_ID=@@server_uuid`;
5351
if ($_has_no_errors)
5452
{
5553
if ($_is_primary)

mysql-test/include/gr_find_a_primary.inc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@
2828
--let $include_filename= gr_find_a_primary.inc
2929
--source include/begin_include_file.inc
3030

31+
if (`SELECT @@GLOBAL.group_replication_single_primary_mode != 1`)
32+
{
33+
--die "The group must be operating in single-primary mode."
34+
}
35+
3136
# save the connection to reinstate it later
3237
--let $_saved_current_connection= $CURRENT_CONNECTION
3338

@@ -45,9 +50,8 @@ while ($_retry_find_primary)
4550
--let $rpl_connection_name=server$_i_find_primary
4651
--source include/rpl_connection.inc
4752

48-
let $_is_primary= `SELECT COUNT(*)=1 FROM performance_schema.global_status
49-
WHERE VARIABLE_NAME = "group_replication_primary_member" AND
50-
VARIABLE_VALUE = @@server_uuid`;
53+
let $_is_primary= `SELECT COUNT(*)=1 FROM performance_schema.replication_group_members
54+
WHERE MEMBER_ROLE="PRIMARY" AND MEMBER_ID=@@server_uuid`;
5155

5256
if ($_is_primary)
5357
{

mysql-test/include/gr_wait_primary_member_uuid.inc

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,19 @@
1313
--let $include_filename= gr_wait_primary_member_uuid.inc
1414
--source include/begin_include_file.inc
1515

16-
let $wait_condition= SELECT COUNT(*) = 1 FROM performance_schema.global_status
17-
WHERE VARIABLE_NAME = "group_replication_primary_member" AND
18-
VARIABLE_VALUE = "$group_replication_expected_uuid";
16+
if (`SELECT @@GLOBAL.group_replication_single_primary_mode != 1`)
17+
{
18+
--die "The group must be operating in single-primary mode."
19+
}
20+
21+
if ($group_replication_expected_uuid == '')
22+
{
23+
--die "Missing argument 'group_replication_expected_uuid'"
24+
}
25+
26+
let $wait_condition= SELECT COUNT(*)=1 FROM performance_schema.replication_group_members
27+
WHERE MEMBER_ROLE="PRIMARY" AND
28+
MEMBER_ID="$group_replication_expected_uuid";
1929
--source include/wait_condition_or_abort.inc
2030

2131
--let $include_filename= gr_wait_primary_member_uuid.inc

mysql-test/suite/group_replication/include/gr_single_primary_with_transaction_isolation.inc

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
# between server1 and server2
3333
#
3434
# $test_parameter_primary_uuid
35-
# Test verifies if the group_replication_primary_member has this uuid
35+
# Test verifies if the primary member has this uuid
3636
#
3737

3838
--let $include_filename= gr_single_primary_with_transaction_isolation.inc
@@ -49,8 +49,20 @@
4949

5050
--source include/start_and_bootstrap_group_replication.inc
5151

52-
--let $group_replication_expected_uuid= $test_parameter_primary_uuid
53-
--source include/gr_wait_primary_member_uuid.inc
52+
if ($test_parameter_single_primary_mode == TRUE)
53+
{
54+
--let $group_replication_expected_uuid= $test_parameter_primary_uuid
55+
--source include/gr_wait_primary_member_uuid.inc
56+
}
57+
58+
if ($test_parameter_single_primary_mode == FALSE)
59+
{
60+
#if multi-primary the members ONLINE in the group all should be primary
61+
--let $_gr_wait_primary_member_uuid_online_count = query_get_value(SELECT COUNT(*) COUNT FROM performance_schema.replication_group_members WHERE member_state="ONLINE", COUNT, 1)
62+
--let $wait_condition= SELECT COUNT(*)=$_gr_wait_primary_member_uuid_online_count FROM performance_schema.replication_group_members WHERE MEMBER_ROLE="PRIMARY"
63+
--source include/wait_condition_or_abort.inc
64+
}
65+
5466

5567
--echo # CONFIGURE SERVER 2
5668
--let $rpl_connection_name= server2
@@ -60,8 +72,19 @@
6072
--eval SET SESSION transaction_isolation=$test_parameter_tx_isolation
6173
--source include/start_group_replication.inc
6274

63-
--let $group_replication_expected_uuid= $test_parameter_primary_uuid
64-
--source include/gr_wait_primary_member_uuid.inc
75+
if ($test_parameter_single_primary_mode == TRUE)
76+
{
77+
--let $group_replication_expected_uuid= $test_parameter_primary_uuid
78+
--source include/gr_wait_primary_member_uuid.inc
79+
}
80+
81+
if ($test_parameter_single_primary_mode == FALSE)
82+
{
83+
#if multi-primary the members ONLINE in the group all should be primary
84+
--let $_gr_wait_primary_member_uuid_online_count = query_get_value(SELECT COUNT(*) COUNT FROM performance_schema.replication_group_members WHERE member_state="ONLINE", COUNT, 1)
85+
--let $wait_condition= SELECT COUNT(*)=$_gr_wait_primary_member_uuid_online_count FROM performance_schema.replication_group_members WHERE MEMBER_ROLE="PRIMARY"
86+
--source include/wait_condition_or_abort.inc
87+
}
6588

6689
--echo # WRITE DATA ON SERVER 1 (ISOLATION LEVEL $test_parameter_tx_isolation)
6790
--echo # AND VERIFY PRESENCE OF THE DATA ON SERVER 2

mysql-test/suite/group_replication/r/gr_acf_57_sources.result

Lines changed: 0 additions & 71 deletions
This file was deleted.

mysql-test/suite/group_replication/r/gr_random_password.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ include/start_and_bootstrap_group_replication.inc
1212
[connection server2]
1313
include/start_group_replication.inc
1414

15-
include/assert.inc [Verify group_replication_primary_member is SERVER_UUID]
15+
include/assert.inc [Verify primary member has given SERVER_UUID]
1616

1717
#-- On Server1
1818
[connection server1]

mysql-test/suite/group_replication/r/gr_show_status_on_start.result

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ Gr_transactions_consistency_after_termination_count 0
4747
Gr_transactions_consistency_after_termination_time_sum 0
4848
Gr_transactions_consistency_before_begin_count 0
4949
Gr_transactions_consistency_before_begin_time_sum 0
50-
group_replication_primary_member
5150
SHOW GLOBAL STATUS LIKE 'Gr\_%';
5251
Variable_name Value
5352
Gr_all_consensus_proposals_count 0

mysql-test/suite/group_replication/r/gr_single_primary_and_leader_election_on_error.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ include/gr_wait_for_member_state.inc
4949
#
5050
include/gr_wait_for_role_count.inc
5151
include/assert.inc ['Old primary server should be in ERROR state';]
52-
include/assert.inc ['group_replication_primary_member should be set to UNDEFINED when replication node is in error state';]
52+
include/assert.inc ['No primary defined when replication node is in error state';]
5353
#
5454
# Stage 4. Clean up.
5555
#

mysql-test/suite/group_replication/r/gr_single_primary_and_leader_election_weight.result

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,19 +60,19 @@ include/assert.inc [Assert that server has group_replication_member_weight=97 af
6060
# based on member weight.
6161
[connection server1]
6262
include/gr_wait_primary_member_uuid.inc
63-
include/assert.inc [Verify group_replication_primary_member is server1]
63+
include/assert.inc [Verify server1 is primary]
6464
include/stop_group_replication.inc
6565
[connection server4]
6666
include/gr_wait_primary_member_uuid.inc
67-
include/assert.inc [Verify group_replication_primary_member is server4]
67+
include/assert.inc [Verify server4 is primary]
6868
include/stop_group_replication.inc
6969
[connection server2]
7070
include/gr_wait_primary_member_uuid.inc
71-
include/assert.inc [Verify group_replication_primary_member is server2]
71+
include/assert.inc [Verify server2 is primary]
7272
include/stop_group_replication.inc
7373
[connection server3]
7474
include/gr_wait_primary_member_uuid.inc
75-
include/assert.inc [Verify group_replication_primary_member is server3]
75+
include/assert.inc [Verify server3 is primary]
7676
include/stop_group_replication.inc
7777
[connection server1]
7878
SET @@GLOBAL.group_replication_member_weight= DEFAULT;

mysql-test/suite/group_replication/r/gr_single_primary_double_change.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ INSERT INTO t1 VALUES(1,1);
4242
include/stop_group_replication.inc
4343
[connection server2]
4444
include/rpl_gr_wait_for_number_of_members.inc
45-
include/assert.inc [Verify group_replication_primary_member is SERVER_UUID]
45+
include/assert.inc [Verify server2 is primary]
4646

4747
###########################################################
4848
# 4. Configure server 1 with recovery credentials from server

mysql-test/suite/group_replication/r/gr_single_primary_foreign_keys.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Note #### Storing MySQL user name or password information in the connection meta
1111
include/start_and_bootstrap_group_replication.inc
1212
[connection server2]
1313
include/start_group_replication.inc
14-
include/assert.inc [Verify group_replication_primary_member is SERVER_UUID]
14+
include/assert.inc [Verify server1 is primary]
1515

1616
############################################################
1717
# 2. Create two tables, one with a foreign key

mysql-test/suite/group_replication/r/gr_single_primary_member_off_status_check.result

Lines changed: 0 additions & 69 deletions
This file was deleted.

0 commit comments

Comments
 (0)