Bug #106183 Error when initializing the group communication layer
Submitted: 17 Jan 2022 12:10 Modified: 10 May 2024 13:58
Reporter: Kamil Holubicki (OCA) Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Group Replication Severity:S3 (Non-critical)
Version:8.0.27 OS:Any
Assigned to: CPU Architecture:Any

[17 Jan 2022 12:10] Kamil Holubicki
Description:
Background:

1. 8.0.27 changed the default values for replica_parallel_workers, slave-parallel-type and slave-preserve-commit-order (commit 7a74dceb300ed7d68a627ad50053bea9acdbb83e)

2. commit 017f9989616c023d2155b38d9bf4492019725ae8 changed the implementation of update_change_replication_source_options(), in particular it added mi->set_gtid_only_mode(true); this causes mi->rli->opt_replica_parallel_workers = 1; in rpl_replica.cc::start_slave(). Then check_slave_sql_config_conflict() fails.

3. 8.0.27 introduced group_replication.gr_clone_integration_basics_with_ssl_mysql MTR test. The problem can be easy reproduced by reverting default values of replica_parallel_workers, slave-parallel-type and slave-preserve-commit-order to the old ones and running this test. 

How to repeat:
Another way to reproduce:
Start the server with 
--replica_parallel_workers=0
--slave-parallel-type=DATABASE
--slave-preserve-commit-order=OFF
(so with the values as they were default for 8.0.26)

install plugin group_replication soname 'group_replication.so';
SET GLOBAL group_replication_group_name="0ac61898-d481-4971-8829-841f237507b6";

set global enforce_gtid_consistency=on;
set global gtid_mode=off_permissive;
set global gtid_mode=on_permissive;
set global gtid_mode=on;

set global group_replication_local_address='127.0.0.1:33061';

CHANGE REPLICATION SOURCE TO SOURCE_USER="test_user" FOR CHANNEL "group_replication_recovery";
START GROUP_REPLICATION;

The operation fails with:
ERROR 3094 (HY000): The START GROUP_REPLICATION command failed as the applier module failed to start.

On version prior to 8.0.27 the result is
ERROR 3097 (HY000): The START GROUP_REPLICATION command failed as there was an error when joining the communication group.
but this is because this is the only node under the test.
[20 Jan 2022 16:54] MySQL Verification Team
Hi,

I am not 100% sure if we can consider this a bug or this can be considered missconfiguration but I'll verify it and let GR team decide.

Thanks for the report