Bug #32462 Replication of CHAR(64) field with utf8 encoding crashes under RBR
Submitted: 16 Nov 2007 21:02 Modified: 28 Jan 2009 20:31
Reporter: Mats Kindahl Email Updates:
Status: Duplicate
Category:Server: RBR Severity:S1 (Critical)
Version:6.0 OS:Any
Assigned to: Mats Kindahl Target Version:6.0-rc
Triage: Triaged: D1 (Critical)

[16 Nov 2007 21:02] Mats Kindahl
Description:
When replicating a CHAR(64) field with UTF-8 encoding, the slave crashes because it
cannot decode the field correctly. The error occurs after the introduction of 4-byte
UTF-8 fields, but not before. The crash occurs because the length of the field cannot be
decoded correctly. It seems to occur for any form of Field_string field, i.e., also for
BLOB, TEXT, etc.

The binary collation of the 'word' field below is possibly not necessary.

How to repeat:
source include/master-slave.inc;

connection master;
utf8_bin) default charset=utf8;
create table t1 (word char(64) collate utf8_bin) default charset=utf8;
insert into t1 values('foo'),('is'),('a'),('bar');
select * from t1;
sync_slave_with_master;
select * from t1;
connection master;
delete from t1 where word = _binary'foo';
select * from t1;
sync_slave_with_master;
select * from t1;

connection master;
drop table t1;
sync_slave_with_master;

Suggested fix:
Ensure that the field can be decoded correctly even in the presence of 4-byte UTF-8
encodings.
[16 Jun 2008 10:12] Jan Kneschke
This may be the same bug as Bug#37426
[19 Nov 2008 22:52] Sveta Smirnova
Thank you for the report.

I can not repeat described behavior with today main 6.0 and 6.0-rpl trees. Please
indicate if you use another tree. Also please confirm results of select * from t1; should
differ on master and slave after DELETE.
[11 Dec 2008 11:45] Sveta Smirnova
I can not repeat neither crash, nor inconsistency between master and slave with current
6.0 tree. So close as "Can't repeat"
[28 Jan 2009 15:13] Lars Thalmann
There is still a disabled test case in 6.0-rpl for this bug.
Re-opening the bug.
[28 Jan 2009 20:31] Mats Kindahl
Closing bug again since it is a duplicate of BUG#37426 and was fixed as part of that bug.
[28 Jan 2009 20: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/64393

2801 Mats Kindahl	2009-01-28
      Bug #32462: Replication of CHAR(64) field with utf8 encoding crashes under RBR
      
      Enabling disabled test cases for this bug.
[30 Jan 2009 13:30] Bugs System
Pushed into 6.0.10-alpha (revid:luis.soares@sun.com-20090129165607-wiskabxm948yx463)
(version source revid:luis.soares@sun.com-20090129163120-e2ntks4wgpqde6zt) (merge vers:
6.0.10-alpha) (pib:6)