Bug #27779 | Slave cannot read old rows log events. | ||
---|---|---|---|
Submitted: | 12 Apr 2007 8:51 | Modified: | 6 Feb 2008 11:12 |
Reporter: | Mats Kindahl | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Row Based Replication ( RBR ) | Severity: | S3 (Non-critical) |
Version: | 5.1 | OS: | Any |
Assigned to: | Sven Sandberg | CPU Architecture: | Any |
[12 Apr 2007 8:51]
Mats Kindahl
[12 Apr 2007 13:51]
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/24383 ChangeSet@1.2545, 2007-04-12 15:50:54+02:00, mats@romeo.(none) +11 -0 BUG#27779 (Slave cannot read old rows log events): Taking code from before BUG#22583 and incorporating as events to be able to read old events. Also incorporating old pack and unpack functions into patch.
[12 Apr 2007 15:33]
Rafal Somla
Good to push.
[20 Apr 2007 17:16]
Bugs System
Pushed into 5.1.18-beta
[24 Apr 2007 17:21]
Paul DuBois
Noted in 5.1.18 changelog. A binary log incompatiblity introduced by the fix for Bug #22583 was corrected.
[3 Jan 2008 15:52]
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/40512 ChangeSet@1.2658, 2008-01-03 16:52:18+01:00, sven@riska.(none) +2 -0 BUG#27779: Slave cannot read old rows log events. Problem: Some previous versions use a different binlog format. In order to replicate from old versions to new versions, the new version must be aware of all old formats. This patch fixes one of several issues when replicating from mysql-5.1-wl2325-5.0-drop6 to mysql-5.1-new-rpl. Specifically, in mysql-5.1-wl2325-5.0-drop6, the event type id's were different than in mysql-5.1-new-rpl. Fix (in mysql-5.1-new-rpl): (1) detect that the server that generated the events uses the old format, by checking the server version of the format_description_log_event This patch recognizes mysql-5.1-wl2325-5.0-drop6 and -drop5. (2) if the generating server is old, map old event types to new event types using a permutation array. This fixes part of the bug (specifically, mysqlbinlog can read the binlog rpl_bug27779_a.dat attached to the bug report for BUG#27779 without problems). However, there are remaining problems with replicating from mysql-5.1-wl2325-5.0-drop6 to mysql-5.1-new-rpl (specifically, the test case for BUG#27779 fails: when the output of 'mysqlbinlog rpl_bug27779_a.dat' is piped to a client, the client fails to execute an Update_rows_log_event).
[7 Jan 2008 14:34]
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/40640 ChangeSet@1.2658, 2008-01-07 15:34:51+01:00, sven@riska.(none) +2 -0 BUG#27779: Slave cannot read old rows log events. Problem: Some previous versions use a different binlog format. In order to replicate from old versions to new versions, the new version must be aware of all old formats. This patch fixes one of several issues when replicating from mysql-5.1-wl2325-5.0-drop6 to mysql-5.1-new-rpl. Specifically, in mysql-5.1-wl2325-5.0-drop6, the event type id's were different than in mysql-5.1-new-rpl. Fix (in mysql-5.1-new-rpl): (1) detect that the server that generated the events uses the old format, by checking the server version of the format_description_log_event This patch recognizes mysql-5.1-wl2325-5.0-drop6 and -drop5. (2) if the generating server is old, map old event types to new event types using a permutation array. This fixes part of the bug (specifically, mysqlbinlog can read the binlog rpl_bug27779_a.dat attached to the bug report for BUG#27779 without problems). However, there are remaining problems with replicating from mysql-5.1-wl2325-5.0-drop6 to mysql-5.1-new-rpl (specifically, the test case for BUG#27779 fails: when the output of 'mysqlbinlog rpl_bug27779_a.dat' is piped to a client, the client fails to execute an Update_rows_log_event).
[9 Jan 2008 10:33]
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/40745 ChangeSet@1.2658, 2008-01-09 11:34:39+01:00, sven@riska.(none) +2 -0 BUG#27779: Slave cannot read old rows log events. Problem: Some previous versions use a different binlog format. In order to replicate from old versions to new versions, the new version must be aware of all old formats. This patch fixes one of several issues when replicating from mysql-5.1-wl2325-5.0-drop6 to mysql-5.1-new-rpl. Specifically, in mysql-5.1-wl2325-5.0-drop6, the event type id's were different than in mysql-5.1-new-rpl. Fix (in mysql-5.1-new-rpl): (1) detect that the server that generated the events uses the old format, by checking the server version of the format_description_log_event This patch recognizes mysql-5.1-wl2325-5.0-drop6p13-alpha, mysql-5.1-wl2325-5.0-drop6, mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd. (2) if the generating server is old, map old event types to new event types using a permutation array. This fixes part of the bug (specifically, mysqlbinlog can read the binlog rpl_bug27779_a.dat attached to the bug report for BUG#27779 without problems). However, there are remaining problems with replicating from mysql-5.1-wl2325-5.0-drop6 to mysql-5.1-new-rpl (specifically, the test case for BUG#27779 fails: when the output of 'mysqlbinlog rpl_bug27779_a.dat' is piped to a client, the client fails to execute an Update_rows_log_event).
[10 Jan 2008 15: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/40851 ChangeSet@1.2660, 2008-01-10 16:39:44+01:00, sven@riska.(none) +9 -0 BUG#27779: Slave cannot read old rows log events. Problem: Replication fails when master is mysql-5.1-wl2325-5.0-drop6 and slave is mysql-5.1-new-rpl. The reason is that, in mysql-5.1-wl2325-5.0-drop6, the event type id's were different than in mysql-5.1-new-rpl. Fix (in mysql-5.1-new-rpl): (1) detect that the server that generated the events uses the old format, by checking the server version of the format_description_log_event This patch recognizes mysql-5.1-wl2325-5.0-drop6p13-alpha, mysql-5.1-wl2325-5.0-drop6, mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd. (2) if the generating server is old, map old event types to new event types using a permutation array. I've also added a test case which reads binlogs for four different versions.
[10 Jan 2008 15:42]
Sven Sandberg
the binlogs for the test case
Attachment: binlogs-b27779.tar.gz (application/x-gzip, text), 6.20 KiB.
[5 Feb 2008 13:03]
Bugs System
Pushed into 5.1.24-rc
[5 Feb 2008 13:07]
Bugs System
Pushed into 6.0.5-alpha
[6 Feb 2008 11:12]
Jon Stephens
Documented bugfix in 5.1.24 and 6.0.5 changelogs as follows: Slaves running MySQL 5.1.18 and later could not read binary logs from older versions of the server. (Note: Could not find changelog entry from earlier fix for this bug, so no need to change it.)
[15 Feb 2008 13:40]
Bugs System
Pushed into 5.1.24-rc
[15 Feb 2008 13:42]
Bugs System
Pushed into 6.0.5-alpha
[6 Mar 2008 5:51]
Jon Stephens
Fix also documented for 5.1.23-ndb-6.2.14.
[30 Mar 2008 8:37]
Jon Stephens
Fix also noted in the 5.1.23-ndb-6.3.11 changelog.