Description:
Running ndbcluster with two database nodes and one mgm node. NoOfReplicas=2
The cluster crashes when performing a SELECT, with the following errors on the database nodes.
The nodes die with the following errors:
> Date/Time: Monday 10 January 2005 - 14:25:05
> Type of error: error
> Message: Internal program error (failed ndbrequire)
> Fault ID: 2341
> Problem data: DbtcMain.cpp
> Object of reference: DBTC (Line: 1321) 0x0000000a
> ProgramName: /usr/sbin/ndbd
> ProcessID: 15037
> TraceFile: /var/lib/mysql-cluster/ndb_12_trace.log.4
> ***EOM***
> Date/Time: Monday 10 January 2005 - 14:26:46
> Type of error: error
> Message: Internal program error (failed ndbrequire)
> Fault ID: 2341
> Problem data: DbtcMain.cpp
> Object of reference: DBTC (Line: 1321) 0x0000000e
> ProgramName: ndbd
> ProcessID: 3525
> TraceFile: /var/lib/mysql-cluster/ndb_13_trace.log.1
> ***EOM***
I have posted the gzipped tracefiles at http://www.symdata.com/simon/
How to repeat:
The server seems to crash when doing a join accross two tables, created as follows:
CREATE TABLE `t1` (
`mid` bigint(11) NOT NULL auto_increment,
`uid` int(11) NOT NULL default '0',
`aid` bigint(11) NOT NULL default '0',
`subj` varchar(255) NOT NULL default '',
`tdate` datetime NOT NULL default '0000-00-00 00:00:00',
`text` mediumtext NOT NULL,
`native` mediumtext NOT NULL,
`mod mediumtext NOT NULL,
`subjmod` text,
PRIMARY KEY (`mid`),
KEY `maildate_key` (`uid`,`tdate`),
KEY `subject_key` (`uid`,`subj`),
KEY `uid_key` (`uid`)
) ENGINE=ndbcluser DEFAULT CHARSET-latin1
and
CREATE TABLE `t2` (
`aid` bigint(20) NOT NULL auto_increment,
`name` varchar(255) NOT NULL default '',
`add` varchar(255) NOT NULL default '',
`uid` int(11) NOT NULL default '0',
`image` mediumblob,
PRIMARY KEY (`aid`),
KEY `uid` (`uid`),
KEY `uid_2` (`uid`,`name`),
KEY `uid_3` (`uid`,`address`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
The query looks something along the lines of:
SELECT t2.name AS name ,
t1.tdate AS tdate ,
t1.subj AS subj ,
t1.mid AS mid
FROM t1 JOIN t2
ON t1.aid = t2.aid
WHERE t1.uid=$uid ORDER BY t1.tdate DESC