Bug #30213 NDB: Dynamic on-line add column TINYTEXT using binlog causes DBUG_ASSERT
Submitted: 2 Aug 2007 21:34 Modified: 23 Nov 2007 9:18
Reporter: Jonathan Miller Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:mysql-5.1-telco-6.2 OS:Linux
Assigned to: Martin Skold CPU Architecture:Any

[2 Aug 2007 21:34] Jonathan Miller
Description:
Hi,

Running my alter script using Dynamic tables both MySQLD's (Local and Remote) crashed when adding a TINYTEXT column. This did not happen when binlogging was not turned on.

Creating TABLE_ALTER.t1, please stand by....
Table TABLE_ALTER.t1 Created!!!!!
Call loader
Sleep 10
Text loader connected to TABLE_ALTER.t1
Alter Table Add Column TINYTEXT
DBD::mysql::st execute failed: Lost connection to MySQL server during query at ./ndb_alter_dd.pl line 539.
DBD::mysql::st execute failed: Lost connection to MySQL server during query at ./ndb_alter_dd.pl line 539.
[ndbdev@ndb09 cid]$ Load continues
Insert Data Error: MySQL server has gone away at ./LoadTableText.pl line 57.
*** glibc detected *** /home/ndbdev/jmiller/builds/libexec/mysqld: double free or corruption (fasttop): 0x0adbb7d8 ***
======= Backtrace: =========
/lib/libc.so.6[0x5311e0]
/lib/libc.so.6(__libc_free+0x77)[0x53172b]
/home/ndbdev/jmiller/builds/libexec/mysqld(_ZdlPv+0x17)[0x8602b63]
/home/ndbdev/jmiller/builds/libexec/mysqld(_Z27ndbcluster_create_event_opsP3THDP19st_ndbcluster_sharePKN13NdbDictionary5TableEPKc+0xbfd)[0x836a7af]
/home/ndbdev/jmiller/builds/libexec/mysqld(_Z30ndbcluster_create_binlog_setupP3NdbPKcjS2_S2_c+0x6fa)[0x836b0ae]
/home/ndbdev/jmiller/builds/libexec/mysqld(_ZN13ha_ndbcluster6createEPKcP8st_tableP24st_ha_create_information+0x406)[0x835900a]
/home/ndbdev/jmiller/builds/libexec/mysqld(_Z27ha_create_table_from_engineP3THDPKcS2_+0x328)[0x833a542]
/home/ndbdev/jmiller/builds/libexec/mysqld(_Z28ndb_create_table_from_engineP3THDPKcS2_+0x5a)[0x83487f0]
/home/ndbdev/jmiller/builds/libexec/mysqld(_Z36ndbcluster_setup_binlog_table_sharesP3THD+0x58)[0x8366fde]
/home/ndbdev/jmiller/builds/libexec/mysqld(ndb_util_thread_func+0x4d5)[0x835759b]
/lib/libpthread.so.0[0x640bd4]
/lib/libc.so.6(__clone+0x5e)[0x5984fe]

See attached crash log for additional information

How to repeat:
create a cluster with 2 NDBD and 2 MySQLD's. Give permissions on one MySQLD for remote assess. 

Run the script  perl ./ndb_alter_dd.pl --sock
[2 Aug 2007 21:35] Jonathan Miller
binlog_alter_crash_debug.log

Attachment: binlog_alter_crash_debug.log (text/x-log), 9.95 KiB.

[23 Nov 2007 9:18] Jon Stephens
Thank you for your bug report. This issue has already been fixed in the latest released version of that product, which you can download at

  http://www.mysql.com/downloads/

Documented in the 5.1.22-ndb-6.2.9 and 6.0.3 changelogs as follows:

        Adding a new TINYTEXT column to an
        NDB table which used COLUMN_FORMAT =
        DYNAMIC, and when binary logging was enabled, caused all
        cluster mysqld processes to crash.