Bug #31708 | Cluster crashes on cartesian product | ||
---|---|---|---|
Submitted: | 19 Oct 2007 0:49 | Modified: | 7 Oct 2009 14:15 |
Reporter: | Todd Farmer (OCA) | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S2 (Serious) |
Version: | mysql-5.1 | OS: | Linux |
Assigned to: | Martin Skold | CPU Architecture: | Any |
Tags: | 5.1.22rc 5.0.48 |
[19 Oct 2007 0:49]
Todd Farmer
[19 Oct 2007 0:57]
Todd Farmer
Node #2 error log
Attachment: ndb_2_error.log (text/x-log), 1.04 KiB.
[19 Oct 2007 1:05]
Todd Farmer
Config, error, cluster and trace logs
Attachment: cartesian.tar.gz (application/x-gzip, text), 38.96 KiB.
[21 Oct 2007 1:08]
Adam Dixon
Repeatable with fixed SQL below, on both 5.1.22RC and 5.0.48-cluster. Will attach ndb_error_reporter logs for both versions. ----- CREATE TABLE t1 ( i INT AUTO_INCREMENT PRIMARY KEY, j INT ) ENGINE = NDB; INSERT INTO t1 (j) values (1); INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; INSERT INTO t1 (j) SELECT j FROM t1; CREATE TABLE t2 ENGINE = NDB AS SELECT * FROM t1; CREATE TABLE t3 ENGINE = NDB AS SELECT * FROM t1; SELECT * FROM t1, t2, t3 WHERE t1.i != t2.i AND t1.i != t3.i;
[21 Oct 2007 1:09]
Adam Dixon
5.1.22 rc logs
Attachment: ndb_error_report_20071021025315_5122rc.tar.bz2 (application/x-bzip2, text), 5.07 KiB.
[21 Oct 2007 1:10]
Adam Dixon
5.0.48-cluster logs
Attachment: ndb_error_report_20071021022913_5048.tar.bz2 (application/x-bzip2, text), 4.25 KiB.
[21 Oct 2007 1:11]
Adam Dixon
5.1.22rc mysql> SELECT * FROM t1, t2, t3 WHERE t1.i != t2.i AND t1.i != t3.i; Killed 2007-10-21 01:56:48 [MgmSrvr] INFO -- Node 3: Local checkpoint 7 started. Keep GCI = 55 oldest restorable GCI = 56 2007-10-21 02:01:23 [MgmSrvr] ALERT -- Node 1: Node 4 Disconnected 2007-10-21 02:01:23 [MgmSrvr] WARNING -- Node 3: Node 4 missed heartbeat 2 2007-10-21 02:01:23 [MgmSrvr] ALERT -- Node 1: Node 4 Disconnected 2007-10-21 02:01:25 [MgmSrvr] ALERT -- Node 3: Node 5 Disconnected 2007-10-21 02:01:25 [MgmSrvr] INFO -- Node 3: Communication to Node 5 closed 2007-10-21 02:01:25 [MgmSrvr] ALERT -- Node 1: Node 3 Disconnected 2007-10-21 02:01:29 [MgmSrvr] INFO -- Node 1: Node 3 Connected 2007-10-21 02:01:29 [MgmSrvr] INFO -- Node 1: Node 4 Connected 2007-10-21 02:01:29 [MgmSrvr] INFO -- Node 3: Started arbitrator node 1 [ticket=1ffb0002bfdd3230] 5.0.48-cluster mysql> SELECT * FROM t1, t2, t3 WHERE t1.i != t2.i AND t1.i != t3.i; Killed 2007-10-21 02:18:27 [MgmSrvr] INFO -- Node 3: Local checkpoint 7 started. Keep GCI = 59 oldest restorable GCI = 60 2007-10-21 02:24:56 [MgmSrvr] ALERT -- Node 1: Node 3 Disconnected 2007-10-21 02:24:57 [MgmSrvr] ALERT -- Node 1: Node 4 Disconnected 2007-10-21 02:24:57 [MgmSrvr] ALERT -- Node 1: Node 3 Disconnected 2007-10-21 02:24:57 [MgmSrvr] ALERT -- Node 1: Node 4 Disconnected 2007-10-21 02:25:02 [MgmSrvr] ALERT -- Node 3: Forced node shutdown completed. Initiated by signal 9. 2007-10-21 02:25:02 [MgmSrvr] ALERT -- Node 4: Forced node shutdown completed. Initiated by signal 9.
[20 Oct 2008 18:33]
Todd Farmer
Can we get an update on where this bug report stands?
[6 Apr 2009 16:47]
Hartmut Holzgraefe
As far as i can tell this is not a cluster bug but actually a mysql client consuming all memory and eventually causing swapping on a machine that is also running a ndbd node ... which is the main reason for the "have exclusive data nodes without anything else running on these machines" recommendation ...
[6 Apr 2009 16:49]
Hartmut Holzgraefe
See also bug #38448 ...
[7 Oct 2009 14:15]
Martin Skold
When running on telco-6.3 I don't see I crash, but do run out of memory I mysqld. It is handled without a crash though: CREATE TABLE t1 ( i INT AUTO_INCREMENT PRIMARY KEY, j INT ) ENGINE = NDB; INSERT INTO t1 (j) values (1); INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; INSERT INTO t1 SELECT NULL,j FROM t1; CREATE TABLE t2 ENGINE = NDB AS SELECT * FROM t1; CREATE TABLE t3 ENGINE = NDB AS SELECT * FROM t1; SELECT * FROM t1, t2, t3 WHERE t1.i != t2.i AND t1.i != t3.i; MySQL/mysql-5.1-telco-6.3/client/.libs/lt-mysql: Out of memory at line 204, 'my_alloc.c' MySQL/mysql-5.1-telco-6.3/client/.libs/lt-mysql: needed 3612384 byte (3528k), memory in use: 3204390021 bytes (3129288k) ERROR 2008 (HY000): MySQL client ran out of memory