Bug #31469 5.1.20 -> 5.1.22. Slave crashes if columns have different sizes.
Submitted: 8 Oct 2007 21:22 Modified: 21 Oct 2007 23:38
Reporter: Serge Kozlov Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: Row Based Replication ( RBR ) Severity:S1 (Critical)
Version:5.1.22 OS:Any
Assigned to: Serge Kozlov CPU Architecture:Any

[8 Oct 2007 21:22] Serge Kozlov
Description:
New slave 5.1.22 and old master 5.1.20 have same table with same column but sizes are different (size on master is less than on slave). Both servers are used row-based replication. Putting a new row into that table on master kills slave when it receive the event from master.

How to repeat:
1. Install mysql 5.1.22 
2. Install mysql 5.1.20
3. Copy  m4r22.pl (patched mtr) into 5.1.22/mysql-test 
4. Copy  rpl_20_22_dc.test into 5.1.22/mysql-test/suite/bug/t/
5. Try to create result file for test case:
./m4r22.pl --master-basedir=/path/to/5.1.20 --suite=bugs --record --mysqld=--binlog-format=row rpl_20_22_dc
[8 Oct 2007 21:23] Serge Kozlov
patched mtr and test case

Attachment: rpl_20_22_dc.zip (application/zip, text), 35.10 KiB.

[27 Nov 2007 20:53] Lars Thalmann
Clarification:

The old 5.1 versions did *not* have enough information in the table
map to be able to detect that the columns are not compatible.

The current versions of 5.1 *do* have complete information about the
columns types, so a current master replicating to a (future) never
slave shall stop (without crash) if the column types are not
compatible.