Bug #40479 deleting rows from disk-based cluster after altering table crashes data node

Submitted: 3 Nov 2008 16:26 Modified: 3 Nov 2008 20:09
Reporter: Monty Taylor Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Cluster: Disk Data Severity:S2 (Serious)
Version:mysql-5.1-telco-6.3 OS:Linux
Assigned to: CPU Architecture:Any
Tags: 6.3.16, mysql-5.1-telco-6.3

[3 Nov 2008 16:26] Monty Taylor
Description:
When trying out disk-based data, a tablespace was added, then a table was altered to use it. Then rows were deleted. This resulted in a data node crashing. It is repeatable every time.

How to repeat:
CREATE TABLE `paggolog` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `priority` varchar(15) NOT NULL DEFAULT '',
  `category` varchar(255) NOT NULL DEFAULT '',
  `thread` varchar(100) NOT NULL DEFAULT '',
  `message` varchar(1000) NOT NULL,
  `layout` varchar(255) DEFAULT NULL,
  `timestamp` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `paggologtype` smallint(1) NOT NULL,
  `secondstimestamp` varchar(23) DEFAULT NULL,
  `mti` char(4) DEFAULT NULL,
  `transactionflag` char(1) DEFAULT NULL,
  `checked` date DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `paggolog_timestamp_idx` (`timestamp`),
  KEY `paggolog_mti_idx` (`mti`),
  KEY `paggolog_checked_idx` (`checked`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1

*** Insert rows here ****

mysql> select count(*) from paggolog;
+----------+
| count(*) |
+----------+
|   816118 |
+----------+
1 row in set (0,02 sec)

mysql> CREATE LOGFILE GROUP log1
    ->     ADD UNDOFILE 'undo1.dat'
    ->     ENGINE = NDBCLUSTER;
Query OK, 0 rows affected (39,61 sec)

mysql> CREATE TABLESPACE ts1
    ->     ADD DATAFILE 'file1.dat'
    ->     USE LOGFILE GROUP log1
    ->     INITIAL_SIZE = 12000000000
    ->     ENGINE = NDBCLUSTER;

Query OK, 0 rows affected (56 min 30,55 sec)

mysql>
mysql>
mysql> ALTER TABLE paggolog TABLESPACE ts1 STORAGE DISK ENGINE NDB;
mysql> delete from paggolog where id <= 90000 limit 50000;
ERROR 1297 (HY000): Got temporary error 4025 'Node failure caused abort of
transaction' from NDBCLUSTER

*** Note: rows must be inserted before the table is altered to add the rows.

Suggested fix:
No clue.
[3 Nov 2008 20:09] Jonathan Miller
I will attach a script to reproduce this. I have not taken the time to break it down any from the attached script.

Time: Friday 31 October 2008 - 22:18:05
Status: Temporary error, restart node
Message: System error, node killed during node restart by other node (Internal error, programming error or missing error message, please report a bug)
Error: 2303
Error data: Node 2 killed this node because GCP stop was detected
Error object: NDBCNTR (Line: 249) 0x00000002
Program: /data0/cr_autotest/libexec/ndbd
Pid: 20321
Trace: ./ndb_2_trace.log.1
Version: mysql-5.1.29 ndb-6.3.19-RC
***EOM***
[3 Nov 2008 20:13] Jonathan Miller
Reproduction shell scipt

Attachment: test_paggo.sh (application/x-shellscript, text), 778 bytes.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.051 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.