Bug #101114 MySQL group replication not set read_only before it joins the GR cluster
Submitted: 10 Oct 2020 6:46 Modified: 14 Nov 2020 16:46
Reporter: Wei Zhao (OCA) Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: Group Replication Severity:S2 (Serious)
Version:8.0.18 OS:Any
Assigned to: MySQL Verification Team CPU Architecture:Any

[10 Oct 2020 6:46] Wei Zhao
Description:
MGR has a bug that can cause data divergence, this is how to reproduce it:

0. setup an MGR cluster, whose primary node is M
1. kill M's mysqld process so that M drops out of the MGR cluster.
2. M's mysqld process is restarted by its mysqld_safe parent process automatically
3. Rejoin M to the MGR cluster by connecting to it and issue 'start group_replication' stmt.

there is a short window between step #2 and step #3 where M is NOT set to readonly even though M's config file has super_read_only=true setting, so that if we have a process which keeps connecting to M and do insert/delete/update stmts, it will succeed in this window, and gtids of such transactions is M's own server_uuid and then M can't join the MGR cluster since it has changes that the MGR cluster doesn't have.

How to repeat:
do as in description section.
[14 Oct 2020 16:46] MySQL Verification Team
Hi,

Have you tried reproducing this with 8.0.21, I was running this test whole day today and I was not able to catch this window to insert data and mess up the cluster.

Thanks
Bogdan
[15 Nov 2020 1:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".