Bug #74385 | GTID replication randomly skipping transactions | ||
---|---|---|---|
Submitted: | 14 Oct 2014 18:24 | Modified: | 25 May 2018 9:52 |
Reporter: | Van Stokes | Email Updates: | |
Status: | No Feedback | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S2 (Serious) |
Version: | 5.6.21 x64 | OS: | Any (Ubuntu 14.04.1 x64) |
Assigned to: | CPU Architecture: | Any | |
Tags: | replication, server |
[14 Oct 2014 18:24]
Van Stokes
[14 Oct 2014 19:22]
Van Stokes
We have tried this step to see if we can force the server to execute the missing GTID: On server missing the GTID: STOP SLAVE; RESET SLAVE; START SLAVE; This did NOT work. The SLAVE_IO retrieves the missing GTID from the master but will not execute it.
[15 Oct 2014 11:00]
Van Stokes
FYI, restarting the MySQL server (application) with relay-log-recovery = 1 in the my.cnf appears to correct the issue. Why must the MySQL server (i.e. the application) be restarted to correct this issue!?
[15 Oct 2014 11:28]
Van Stokes
The implications of this issue is extremely serious. Did you notice that the skipped transaction was a DELETE? Now, AFTER many possible OTHER table changes have already been applied the OLD statement was applied (cart before the horse!). The result is that table on the servers are now NOT in sync because of the order the application of the transactions. MasterA and SlaveD are NOT in sync with MasterB, MasterC and MasterD. I see a massive flaw in the GTID concept. It's missing an important element. A database-table descriptor. Current GTID schema: Server-UUID:Transaction-ID Ex: 69cf02cd-1731-11e3-9a19-002590854928:84680970 Suggested new GTID schema: Server-UUID:Database-ID:Table-ID:Transaction-ID Or, skip the whole server concept and bring it to the table level, assign a UUID per table. Suggested alternative GTID schema: Table-UUID:transaction-id This way if a transaction is missing no further updates to the table are processed until the missing transaction is recovered. However, add a new option like slave-proceed-on-missing-gtid = 1.
[4 Nov 2014 16:20]
Van Stokes
May be related to this bug report: http://bugs.mysql.com/bug.php?id=74687
[25 Apr 2018 9:52]
MySQL Verification Team
Please check for related issue: https://bugs.mysql.com/bug.php?id=71529. Thanks.
[26 May 2018 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".