Bug #29562 default collation of ucs2_unicode_ci crashes slave
Submitted: 5 Jul 2007 6:06 Modified: 11 Feb 2008 21:11
Reporter: Stewart Smith Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Charsets Severity:S2 (Serious)
Version:5.1.19, 5.1-telco OS:Any
Assigned to: Alexander Barkov
Tags: bfsm_2007_11_15
Triage: D1 (Critical)

[5 Jul 2007 6:06] Stewart Smith
Description:
slave crashes (no state_map) for default collation ucs2_unicode_ci set on master

How to repeat:
make sure mysql-test/t/rpl_ndb_ctype_ucs2_def-master.opt is:
--default-collation=ucs2_unicode_ci --default-character-set=ucs2,latin1

run the rpl_ndb_ctype_ucs2_def test.
(see slave crash).

Suggested fix:
complete ucs2_unicode_ci charset, or make it give a nicer error than segfault
[17 Jul 2007 8:25] Stewart Smith
Also see:

http://bugs.mysql.com/bug.php?id=27404
[3 Aug 2007 8:33] Sergey Vojtovich
We do not support ucs2 as client character set now (see BUG#28832).

The problem with this bug is that client actually uses latin1 but ucs2 is written to binlog.

Reassigning this bug to Bar, since it is not obvious how to pass correct character set to ndb binlogging thread.
[28 Nov 2007 11:37] 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/38689

ChangeSet@1.2632, 2007-11-28 15:35:25+04:00, bar@mysql.com +4 -0
  bug#29562 default collation of ucs2_unicode_ci crashes slave
  Problem: some pieces of code relied on the default character
  set settings, which didn't work in case of default character set
  ucs2.
  Fix: Specifying character set explicitly, not to depend on
  the default settings.
[18 Jan 2008 14:34] Lars Thalmann
There is a second patch where latin1 is used instead of utf8 in 
creation of the tables.

Before the patch, the charset was dependent on what the value set by 
user in --character-set-server, and the default was latin1.

After the patch, it is not possible for the user to change the charset, 
so it will always be latin1.

It should thus not be any upgrade problems.

I think the second patch can be pushed without specific test case for this.
[23 Jan 2008 12:51] Alexander Barkov
Pushed into mysql-5.1.23-rpl
Pushed into mysql-6.0.4-rpl
[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
[11 Feb 2008 21:11] Paul Dubois
Noted in 5.1.24, 6.0.5 changelogs.

Replication crashed with the NDB storage engine when mysqld was
started with --character-set-server=ucs2.
[6 Mar 2008 6:08] Jon Stephens
Fix also documented for 5.1.23-ndb-6.2.14.
[30 Mar 2008 17:31] Jon Stephens
Fix also documented for 5.1.23-ndb-6.3.11.