Bug #82481 MySQL Group Replication 0.8 is asynchronous
Submitted: 6 Aug 2016 17:28 Modified: 2 Dec 2016 13:01
Reporter: Vadim Tkachenko Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Group Replication Severity:S1 (Critical)
Version:5.7.14 OS:Any
Assigned to: Nuno Carvalho CPU Architecture:Any

[6 Aug 2016 17:28] Vadim Tkachenko
Description:
What I found that MySQlL Group Replication shows asynchronous behavior,
which results in one node being behind another and I am able to get
two nodes to have a different dataset, that is inconsistency between nodes.

How to repeat:
For example:
Node1:

mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> update t3 set balance=1000;
Query OK, 23068672 rows affected (7 min 40.23 sec)
Rows matched: 23068672  Changed: 23068672  Warnings: 0

mysql> update t4 set balance=1000;
Query OK, 23068672 rows affected (7 min 48.16 sec)
Rows matched: 23068672  Changed: 23068672  Warnings: 0

mysql> commit;
Query OK, 0 rows affected (14 min 20.97 sec)

But this commit does not wait until the changes applied on Node2.
So AFTER commit on Node1, on Node2 I can do:
update t4 set balance=200 where id>1000000 and id < 1000100;

but these changes will be rewritten after replication events from Node1,
however this update will go to the Node1 and will be applied also on the Node1.

So at the end we have:
All rows on the node2: balance=1000
Rows (id>1000000 and id < 1000100) on the node1: balance=200

So with a little efforts I made two nodes out of sync one from another.
I want to check with you if this is indented behavior, or there is some
configuration issue and if there is any way to enforce nodes to stay in sync.

I use config from the post:
http://mysqlhighavailability.com/mysql-group-replication-a-quick-start-guide/
[11 Aug 2016 8:44] MySQL Verification Team
Hello Vadim,

Thank you for the report.
Verified as described.

Thanks,
Umesh
[11 Aug 2016 8:44] MySQL Verification Team
test results

Attachment: 82481.results (application/octet-stream, text), 5.41 KiB.

[12 Aug 2016 10:32] Frederic Descamps
FYI, this is a screencast of the bug: https://youtu.be/SUHx4fFnuJE
[2 Dec 2016 13:01] David Moss
Posted by developer:
 
Thanks for your feedback, this has been fixed in upcoming versions.