Bug #7011 | Multi-table update does not seem to execute on slave | ||
---|---|---|---|
Submitted: | 4 Dec 2004 23:17 | Modified: | 10 Feb 2005 19:11 |
Reporter: | Dean Ellis | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S3 (Non-critical) |
Version: | 4.0.23 | OS: | Any (all) |
Assigned to: | Antony Curtis | CPU Architecture: | Any |
[4 Dec 2004 23:17]
Dean Ellis
[14 Dec 2004 23:28]
Guilhem Bichot
a .test way to repeat the problem (Linux, Mac OS X); see README in the .tar.gz
Attachment: bug7011_simplified.tar.gz (application/x-tar, text), 1019 bytes.
[14 Dec 2004 23:57]
Guilhem Bichot
Added a new file in the 'Files' section which shows a way to repeat the bug. Does not depend on using InnoDB or Mac OS X; happens with MyISAM on Linux as well.
[14 Dec 2004 23:58]
Guilhem Bichot
The problem happens only if there are some replicate-*table rules
[18 Dec 2004 17:47]
Guilhem Bichot
Assigning it to Antony, as he submitted a patch which fixes the customer's testcase (I verified). Antony, note that the customer is hitting the problem on 4.0 so maybe a push into 4.0 would be worth it.
[20 Dec 2004 12:40]
Andrew Sitnikov
We also have same problems with 4.1.8 ============================================================================================ master ============================================================================================ mysql> show variables like 'version%'; +-------------------------+--------------------------------+ | Variable_name | Value | +-------------------------+--------------------------------+ | version | 4.1.8-standard-log | | version_comment | Official MySQL-standard binary | | version_compile_machine | i686 | | version_compile_os | pc-linux | +-------------------------+--------------------------------+ 4 rows in set (0.00 sec) mysql> DROP TABLE IF EXISTS t1; Query OK, 0 rows affected (0.00 sec) mysql> DROP TABLE IF EXISTS t2; Query OK, 0 rows affected (0.00 sec) mysql> mysql> CREATE TABLE `t1` ( -> `id` mediumint(8) unsigned NOT NULL default '0', -> `visited` datetime default NULL, -> PRIMARY KEY (`id`) -> ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Query OK, 0 rows affected (0.00 sec) mysql> mysql> CREATE TABLE `t2` ( -> `id` mediumint(8) unsigned NOT NULL auto_increment, -> `visited` datetime NOT NULL default '0000-00-00 00:00:00', -> PRIMARY KEY (`id`), -> KEY `visited` (`visited`) -> ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ; INSERT INTO `t1` VALUES (16, '2004-12-20 14:02:03'); Query OK, 0 rows affected (0.02 sec) mysql> mysql> INSERT INTO `t1` VALUES (16, '2004-12-20 14:02:03'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO `t2` VALUES (16, '2004-12-20 14:05:03'); Query OK, 1 row affected (0.00 sec) mysql> mysql> SELECT * FROM t1; +----+---------------------+ | id | visited | +----+---------------------+ | 16 | 2004-12-20 14:02:03 | +----+---------------------+ 1 row in set (0.00 sec) mysql> mysql> SELECT * FROM t2; +----+---------------------+ | id | visited | +----+---------------------+ | 16 | 2004-12-20 14:05:03 | +----+---------------------+ 1 row in set (0.00 sec) mysql> mysql> UPDATE t1, t2 SET t1.visited=t2.visited WHERE t1.id=t2.id; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> mysql> SELECT * FROM t1; +----+---------------------+ | id | visited | +----+---------------------+ | 16 | 2004-12-20 14:05:03 | +----+---------------------+ 1 row in set (0.01 sec) ============================================================================================ slave ============================================================================================ mysql> show variables like 'version%'; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 16219 Current database: rate +-------------------------+--------------------------------+ | Variable_name | Value | +-------------------------+--------------------------------+ | version | 4.1.8-standard-log | | version_comment | Official MySQL-standard binary | | version_compile_machine | i686 | | version_compile_os | pc-linux | +-------------------------+--------------------------------+ 4 rows in set (0.00 sec) mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 212.7.7.38 Master_User: replica Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.006067 Read_Master_Log_Pos: 2722945 Relay_Log_File: irc-relay-bin.006070 Relay_Log_Pos: 17009517 Relay_Master_Log_File: mysql-bin.006067 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: rate Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: rate.users_session Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 2722471 Relay_Log_Space: 17009991 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 1 row in set (0.00 sec) mysql> SELECT * FROM t1; +----+---------------------+ | id | visited | +----+---------------------+ | 16 | 2004-12-20 14:02:03 | +----+---------------------+ 1 row in set (0.00 sec) mysql> SELECT * FROM t2; +----+---------------------+ | id | visited | +----+---------------------+ | 16 | 2004-12-20 14:05:03 | +----+---------------------+ 1 row in set (0.00 sec)
[10 Jan 2005 11:18]
[ name withheld ]
when this bug will be fixed ?
[13 Jan 2005 13:58]
Jeff Fisher
Is there any chance we can get a copy of the patch which fixes the testcase? We are experiencing this problem on 4.1.7 and I'm more than willing to port the patch to 4.1.7 or 8.
[26 Jan 2005 19:50]
Lenz Grimmer
A preliminary patch (not pushed yet) is at http://lists.mysql.com/internals/20672
[30 Jan 2005 19:50]
Antony Curtis
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release. If necessary, you can access the source repository and build the latest available version, including the bugfix, yourself. More information about accessing the source trees is available at http://www.mysql.com/doc/en/Installing_source_tree.html Additional info: Patch applied to 4.0 repository. merge in progress.
[10 Feb 2005 18:25]
Antony Curtis
Fix pushed to 4.0, 4.1 and 5.0 trees 4.0 ChangeSet@1.2040, 2005-01-30 10:24:03+00:00 4.1 ChangeSet@1.2153, 2005-01-31 13:18:36+00:00 5.0 ChangeSet@1.1819, 2005-01-31 20:49:37+00:00
[10 Feb 2005 19:11]
Paul DuBois
Mentioned in 4.0.24, 4.1.10, 5.0.3 change notes.