Bug #33329 | extraneous ROLLBACK in binlog on connection does not use trans tables | ||
---|---|---|---|
Submitted: | 18 Dec 2007 9:47 | Modified: | 26 Mar 2008 19:05 |
Reporter: | Andrei Elkin | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S2 (Serious) |
Version: | 5.0 | OS: | Any |
Assigned to: | Andrei Elkin | CPU Architecture: | Any |
[18 Dec 2007 9:47]
Andrei Elkin
[25 Dec 2007 13:16]
Andrei Elkin
Taking to myself as there is the reported fixing plan (yet to be discussed).
[8 Jan 2008 17:06]
Konstantin Osipov
Susanne, tracing and logging includes the slow log, the general log, but does not include replication and the binary log.
[14 Jan 2008 13:28]
Joerg Bruehe
Reproduced in the release builds of 5.0.54 and 5.0.54a, full symptom is like this: multi_update [ fail ] --- /PATH/mysql-test/r/multi_update.result +++ /PATH/mysql-test/r/multi_update.reject @@ -545,7 +545,7 @@ 4 4 show master status /* there must be the UPDATE query event */; File Position Binlog_Do_DB Binlog_Ignore_DB -master-bin.000001 260 +master-bin.000001 189 delete from t1; delete from t2; insert into t1 values (1,2),(3,4),(4,4); @@ -555,7 +555,7 @@ ERROR 23000: Duplicate entry '4' for key 1 show master status /* there must be the UPDATE query event */; File Position Binlog_Do_DB Binlog_Ignore_DB -master-bin.000001 275 +master-bin.000001 204 drop table t1, t2; drop table if exists t1, t2, t3; CREATE TABLE t1 (a int, PRIMARY KEY (a));
[4 Feb 2008 14:38]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/41651 ChangeSet@1.2568, 2008-02-04 16:37:41+02:00, aelkin@koti.dsl.inet.fi +2 -0 Bug#33329 extraneous ROLLBACK in binlog on connection does not use trans tables There had been two issues. Rollback statement was recorded in binlog even though a multi-update had not modified any non-transactional table. The reason for this artifact was a false initial value of multi_update::transactional_tables. Yet another artifact that explained on the bug page is that `ha_autocommit_or_rollback' works differently depending on whether a transaction engine has been compiled in. Fixed: with setting multi_update::transactional_tables to zero at initialization time. Multi-update on non-trans table won't cause ROLLBACK in binlog with either compilation option. The 2nd mentioned artifact comprises a self-standing issue (to be reported separately).
[12 Feb 2008 10:42]
Andrei Elkin
Pushed to 5.0-rpl.
[14 Feb 2008 14:28]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/42280 ChangeSet@1.2580, 2008-02-14 16:28:32+02:00, aelkin@mysql1000.dsl.inet.fi +2 -0 bug#33329 extraneous ROLLBACK in binlog on connection does not use trans tables changes for an assert and an updated results file.
[25 Mar 2008 11:22]
Bugs System
Pushed into 5.0.60
[25 Mar 2008 11:23]
Bugs System
Pushed into 5.1.24-rc
[26 Mar 2008 19:01]
Bugs System
Pushed into 6.0.5-alpha
[26 Mar 2008 19:05]
Jon Stephens
Documented bugfix in the 5.0.60 and 5.1.24 changelogs as follows: An extraneous ROLLBACK statement was written to the binary log by a connection that did not use any transactional tables.
[2 Apr 2008 15:58]
Jon Stephens
Also noted fix in 5.1.23-ndb-6.3.11 changelog.