Bug #104980 | After secondary node is killed, it can not rejoined | ||
---|---|---|---|
Submitted: | 18 Sep 2021 1:33 | Modified: | 14 Nov 2022 23:40 |
Reporter: | Ye Jinrong | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Group Replication | Severity: | S2 (Serious) |
Version: | 8.0.26 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[18 Sep 2021 1:33]
Ye Jinrong
[23 Sep 2021 13:48]
MySQL Verification Team
Hi, Thanks for the report and the script to reproduce.
[8 Oct 2021 20:52]
MySQL Verification Team
Hi, This took me almost 3 days to reproduce and now our dev team is having issues reproducing it too. Can you share more details maybe, a full config file for start will help. Can you tell me the way you are "killing the node", you kill -9 or you shutdown or ? thanks
[13 Dec 2021 13:08]
MySQL Verification Team
Bug #105748 is marked as duplicate of this one
[14 Nov 2022 23:40]
Jon Stephens
Documented fix as follows in the MySQL 8.0.32 changelog: When a group was run with group_replication_consistency = AFTER and a secondary failed due to external conditions such as an unstable network, the secondary could sometimes encounter the error -Transaction 'GTID' does not exist on Group Replication consistency manager while receiving remote transaction prepare.- The root cause of this issue was that the primary might log out of order the View_change_log_event with which the secondary rejoined; when the secondary used the primary as the group donor, this could cause the secondary to catch up with the group improperly and, eventually, generate incorrect GTIDs for the group transactions. The group replication primary ensures that the View_change_log_event is logged after all preceding transactions, but there was a window during which transactions ordered after the View_change_log_event on the group global order could be logged before the View_change_log_event. To solve this issue, we now make sure that transactions ordered before a view are always logged before the View_change_log_event, and that transactions ordered after a view are always logged after the View_change_log_event. This is now done by the binary log ticket manager, which guarantees the order in which transactions in the binary log group commit are committed. Closed.
[22 Dec 2022 5:15]
ZhaoPing Lu
Hit the same issue. Is there a workaround for this bug for now?