Bug #91933 MySQL Group Replication - Transaction hangs in COMMIT state at primary
Submitted: 8 Aug 2018 9:22 Modified: 11 Mar 16:36
Reporter: Yashwanth Aluru Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: Group Replication Severity:S1 (Critical)
Version:8.0.11 OS:CentOS
Assigned to: Bogdan Kecman CPU Architecture:Any

[8 Aug 2018 9:22] Yashwanth Aluru
Description:
I've setup Group Replication on two of our MySQL servers running on unix with version 8.0.11 commercial.

Data transfers happen daily on our servers where we run some ETL services. After setting group replication, I ran our ETL service and observed that certain transactions are hanged up in COMMIT command in the state STARTING when observed in SHOW PROCESSLIST;

I configured the following variables on both primary and secondary,

loose-group_replication_transaction_size_limit = 1073741824
loose-group_replication_flow_control_certifier_threshold = 1
loose-group_replication_flow_control_applier_threshold = 1
slave_parallel_workers = 10
slave_preserve_commit_order = 1
slave_parallel_type = LOGICAL_CLOCK

Below are the default options which I didn't edit,

group_replication_flow_control_mode = QUOTA
group_replication_flow_control_hold_percent = 10
group_replication_flow_control_max_quota = 0
group_replication_flow_control_member_quota_percent = 0
group_replication_flow_control_min_quota = 0
group_replication_flow_control_min_recovery_quota = 0
group_replication_flow_control_period = 1
group_replication_flow_control_release_percent = 50

A transaction that commits around 600 000 records hangs at COMMIT command. Do I need to modify any of the above options or is there any option I need to configure other than these in my my.cnf?

How to repeat:
Ensure above variables are set when you configure group replication. Start a transaction at primary where it performs operations on around 600 000 records of a table. Later see the processlist and the transaction hangs at COMMIT command in the state STARTING for ages.
[11 Feb 16:36] Bogdan Kecman
I can't say if this is a bug or not, but my first guess is that this is not a bug but a miss use of the system, and that you might need some support&consulting on how to break that flow rather then pushing large transaction trough GR.

you have transaction_size_limit set

https://dev.mysql.com/doc/refman/5.7/en/group-replication-options.html#sysvar_group_replic...

how big is that transaction you are trying to push trough?

Note that large transactions can take significant time and memory to execute. e.g. look at bug #84785

kind regards
Bogdan
[12 Mar 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".