Bug #88944 Server freeze on failed auto-rejoin
Submitted: 15 Dec 2017 21:31 Modified: 26 Feb 2018 12:42
Reporter: Nelson Goncalves Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Group Replication Severity:S2 (Serious)
Version:8.0.4 OS:Any
Assigned to: CPU Architecture:Any

[15 Dec 2017 21:31] Nelson Goncalves
Description:
The MySQL server enters a deadlock if it was unable to auto-rejoin a group and a client executes the following query: SET PERSIST group_replication_recovery_get_public_key=1

How to repeat:
mkdir freezeme
cd freezeme

cat <<EOF > my.cnf
[mysqld]
basedir=/home/nelson/mysql_dir/
datadir=$PWD/freeze
port=3307
socket=$PWD/3307.sock
transaction_write_set_extraction = XXHASH64
disabled_storage_engines = BLACKHOLE,FEDERATED,ARCHIVE
binlog_checksum = NONE
gtid_mode = ON
server_id = 3335665339
auto_increment_offset = 7
log_bin
log_slave_updates = ON
relay_log_info_repository = TABLE
innodb_log_file_size = 4M
master_info_repository = TABLE
binlog_format = ROW
enforce_gtid_consistency = ON

plugin_load=group_replication.so
group_replication_local_address=localhost:33071
group_replication_group_name=b7fd62ce-e1da-11e7-94a4-7ec2514d92f3
group_replication_group_seeds=localhost:3456
group_replication_start_on_boot=ON
EOF

mysqld --defaults-file=my.cnf --initialize-insecure
mysqld --defaults-file=my.cnf &
echo "sleeping for server to start"
sleep 20
echo
echo "About to freeze..."
mysql -uroot -h127.0.0.1 -P3307 -p -e "set global group_replication_recovery_get_public_key=1";
[26 Feb 2018 12:42] David Moss
Posted by developer:
 
Thank you for your feedback, this has been fixed in upcoming versions and the following was added to the 8.0.11 changelog:
In the unlikely event of the group failing to start, for example because no seed member could be contacted, there is a one minute period where the group retries the start process. Attempting to modify a Group Replication plugin option during this period could result in an unexpected halt. Now, attempting to modify a Group Replication plugin option during plugin start or stop results in error.
[31 May 2018 14:52] David Moss
Reclosing.
[31 May 2018 14:57] David Moss
Reclosing.