Bug #24573 MySQLD node hangs the statement following CREATE TABLE LIKE
Submitted: 24 Nov 2006 13:32 Modified: 4 Dec 2006 15:10
Reporter: Roland Bouman Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S1 (Critical)
Version:5.1.14-BK OS:Linux (ubuntu etchy)
Assigned to: CPU Architecture:Any
Tags: CREATE TABLE LIKE, hang, mysqld, ndb, sql node

[24 Nov 2006 13:32] Roland Bouman
Description:
When an NDB table is recreated using the LIKE syntax, the next statement makes the sqlnode hang indefinitely. 

Any subsequent client requests will block, including mysqladmin. An attempt to connect a new mysql client to the mysqld will succeed, but any statement will block (you also cannot connect with the -D option to set the default database).
This state perseveres even after the data nodes and cluster has been shut down. Killing the mysqld process on the operating system level is the only way to end this.

The same sequence of statments does not cause any trouble when the mysqld is not part of a cluster.

How to repeat:
Set up a simple cluster (config.ini attached). Connect to the sql node and create execute the following script:

create table t(     
    id int unsigned auto_increment primary key 
,   name char(41) 
)engine = ndb;

create table u like t;                                                                         

-- the next statement will hang indefinitely
show processlist;       

Suggested fix:
please don't hang mysqld
[24 Nov 2006 13:52] Roland Bouman
Cluster config

Attachment: config.ini (application/octet-stream, text), 2.60 KiB.

[24 Nov 2006 14:06] Valeriy Kravchuk
Thank you for a bug report. Verified on Linux with 5.1.14-BK. I used Valgrind build, and got a crash instead of hang:

openxs@suse:~/work/mysql-5.1/mysql-test> ./mysql-test-run.pl --do-test=ndb_bug2
4573
Logging: ./mysql-test-run.pl --do-test=ndb_bug24573
MySQL Version 5.1.14
mysql-test-run: WARNING: Could not parse variable list line : ndb-report-thresh-
binlog-epoch-slip3

mysql-test-run: WARNING: Could not parse variable list line : ndb-report-thresh-
binlog-mem-usage10

Using binlog format 'mixed'
Using ndbcluster when necessary, mysqld supports it
Setting mysqld to support SSL connections
Binaries are debug compiled
Killing Possible Leftover Processes
Removing Stale Files
Installing Master Database
Installing Master Database
Installing Master Cluster
=======================================================
Starting Tests in the 'main' suite

TEST                           RESULT         TIME (ms)
-------------------------------------------------------

ndb_bug24573                   [ fail ]

Errors are (from /home/openxs/work/mysql-5.1/mysql-test/var/log/mysqltest-time)
:
mysqltest: At line 17: query 'create table u like t' failed: 2013: Lost connecti
on to MySQL server during query
(the last lines may be the most important ones)
Result from queries before failure can be found in r/ndb_bug24573.log

Aborting: ndb_bug24573 failed in default mode. To continue, re-run with '--force
'.
Stopping All Servers
openxs@suse:~/work/mysql-5.1/mysql-test> cat t/ndb_bug24573.test
-- source include/have_ndb.inc
-- source include/have_multi_ndb.inc
-- source include/not_embedded.inc

--disable_warnings
DROP TABLE IF EXISTS t;
--enable_warnings

connect (con1,localhost,root,,test);
connection con1;

create table t(
    id int unsigned auto_increment primary key
,   name char(41)
)engine = ndb;

create table u like t;

show processlist;

--disable_warnings

With the following resolved stack trace:

openxs@suse:~/work/mysql-5.1> extra/resolve_stack_dump  -s /tmp/mysqld51.sym -n
 mysql-test/24573.stack
0x8213475 handle_segfault + 365
0xffffe410 _end + -142218784
0x400e7b75 _end + 932479301
0x400df903 _end + 932445907
0x830cd13 _Z28ndbcluster_binlog_open_tableP3THDP19st_ndbcluster_shareP14st_table
_shareP8st_tablei + 701
0x830cf63 _Z28ndbcluster_binlog_init_shareP19st_ndbcluster_shareP8st_table + 511

0x82fe16e _Z20ndbcluster_get_sharePKcP8st_tablebb + 686
0x82f5515 _ZN13ha_ndbcluster6createEPKcP8st_tableP24st_ha_create_information + 3
273
0x82df80c _Z15ha_create_tableP3THDPKcS2_S2_P24st_ha_create_informationb + 292
0x8321c8f _Z23mysql_create_like_tableP3THDP13st_table_listP24st_ha_create_inform
ationP11Table_ident + 1291
0x822c808 _Z21mysql_execute_commandP3THD + 4504
0x82335c3 _Z11mysql_parseP3THDPcj + 325
0x822a378 _Z16dispatch_command19enum_server_commandP3THDPcj + 1702
0x8229cc5 _Z10do_commandP3THD + 503
0x8228f56 handle_one_connection + 840
0x40047aa7 _end + 931823735
0x40178c2e _end + 933073406
[4 Dec 2006 15:10] Martin Skold
Duplicate of bug#24301