Bug #77354 | multi drop temp table statements in UDF cause replication fails using 5.6 GTID | ||
---|---|---|---|
Submitted: | 15 Jun 2015 6:51 | Modified: | 20 Nov 2015 16:11 |
Reporter: | Fungo Wang (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S1 (Critical) |
Version: | 5.6.25, 5.6.26, 5.7.8 | OS: | Linux |
Assigned to: | CPU Architecture: | Any | |
Tags: | GTID, replication, temporary table |
[15 Jun 2015 6:51]
Fungo Wang
[15 Jun 2015 7:02]
MySQL Verification Team
Hello Fungo Wang, Thank you for the report and test case. Observed this with 5.6.26 build. Thanks, Umesh
[15 Jun 2015 7:08]
MySQL Verification Team
test results
Attachment: 77354_5_6_26.results (application/octet-stream, text), 20.57 KiB.
[15 Jun 2015 7:21]
MySQL Verification Team
- 5.7.8 also affected
[15 Jun 2015 7:22]
MySQL Verification Team
test results
Attachment: 77354_5_7_8.results (application/octet-stream, text), 28.44 KiB.
[20 Nov 2015 16:11]
David Moss
Thanks for your feedback. This has been fixed in upcoming versions and the following was noted in the 5.6.29 and 5.7.11 changelog: When using --gtid-mode=on , --enforce-gtid-consistency , and --binlog-format=row, if a user defined function with multiple DROP TEMPORARY TABLE statements was executed on a master, the resulting binary log caused an error on slaves. The fix ensures that stored functions and triggers are also considered multi-statement transactions, and that when --enforce-gtid-consistency is enabled, functions with CREATE TEMPORARY TABLE or DROP TEMPORARY TABLE statements generate an ER_GTID_UNSAFE_CREATE_DROP_TEMPORARY_TABLE_IN_TRANSACTION error.