MySQL Forums
Forum List  »  Replication

The member contains transactions not present in the group
Posted by: Icaro Orte
Date: June 02, 2020 04:52AM

Hi all

I have a 3 node MYSQL Group Replication. It is working correctly, but sometimes (not always), when one of the nodes has a communication problem with the other nodes, it cannot reconnect because it has local transactions that are not in the rest of the nodes:

2020-06-02T01:05:52.443867Z 0 [ERROR] [MY-011495] [Repl] Plugin group_replication reported: 'This server is not able to reach a majority of members in the group. This server will now block all updates. The server will remain blocked until contact with the majority is restored. It is possible to use group_replication_force_members to force a new group membership.'
2020-06-02T01:06:03.441654Z 0 [ERROR] [MY-011505] [Repl] Plugin group_replication reported: 'Member was expelled from the group due to network failures, changing member status to ERROR.'

[many repetitions of]
2020-06-02T01:06:04.541581Z 1570936 [ERROR] [MY-011601] [Repl] Plugin group_replication reported: 'Transaction cannot be executed while Group Replication is on ERROR state. Check for errors and restart the plugin'
2020-06-02T01:06:04.546258Z 1570936 [ERROR] [MY-010207] [Repl] Run function 'before_commit' in plugin 'group_replication' failed

[trying now to reconnect manually]

2020-06-02T06:49:52.122270Z 0 [ERROR] [MY-011522] [Repl] Plugin group_replication reported: 'The member contains transactions not present in the group. The member will now exit the group.'

--------------------------------------------------------

Config regarding Group Replication:

server-id = 1
auto_increment_increment = 2 # only 2 of the 3 nodes make queries, should I change this to 3, if 1 of then doesn't insert/update/delete anything?
auto_increment_offset = 1

plugin-load = group_replication.so
plugin-load-add = mysql_clone.so
transaction_write_set_extraction = XXHASH64
loose-group_replication_group_name = "xxxxxxxxx-6aa4-11ea-b2af-xxxxxxxxxxxxxx"
loose-group_replication_start_on_boot = off
loose-group_replication_local_address = "xx.xx.xx.xx:33062"
loose-group_replication_group_seeds = "xx.xx.xx.xx:33062,xx.xx.xx.xx:33062,xx.xx.xx.xx:33062"
loose-group_replication_bootstrap_group = off
loose-group_replication_single_primary_mode = FALSE
loose-group_replication_enforce_update_everywhere_checks = TRUE
loose-group_replication_ip_whitelist = "xx.xx.xx.xx,xx.xx.xx.xx,xx.xx.xx.xx"
loose-group_replication_recovery_retry_count = 15
loose-group_replication_recovery_reconnect_interval = 60
loose-group_replication_ssl_mode = REQUIRED
loose-group_replication_recovery_use_ssl = 1

group_replication_autorejoin_tries = 20
group_replication_transaction_size_limit = 75000000
super_read_only = ON
read_only = ON

slave_parallel_type = LOGICAL_CLOCK
slave_preserve_commit_order = 1
slave_parallel_workers = 30

--------------------------------------------------------

I suppose that the server should not execute queries if they have not been accepted by the majority. So, why that node has transactions that have not been accepted? How could I prevent this?

I would need all nodes to reconnect automatically, and not accept new data if they are not connected to the Group Replication.

Thank you

Options: ReplyQuote


Subject
Views
Written By
Posted
The member contains transactions not present in the group
2251
June 02, 2020 04:52AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.