ディスクテーブルの検証(再テスト)

config.ini.1024

my.cnf.1024

1. テーブル作成

drop database if exists error_test;
create database error_test;

create logfile group lg_hiro add undofile 'undo_hiro.dat' engine ndb;

create tablespace ts_hiro add datafile 'data_hiro.dat' use logfile group lg_hiro engine ndb;

use error_test;

DROP TABLE IF EXISTS `error_test`.`t1`;
CREATE TABLE `error_test`.`t1` (
`c1` bigint NOT NULL auto_increment,
`c2` char(50) NOT NULL default 'AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEE',
`c3` char(50) NOT NULL default 'AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEE',
`c4` char(50) NOT NULL default 'AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEE',
`c5` char(50) NOT NULL default 'AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEE',
PRIMARY KEY (`c1`)
) /*!50100 TABLESPACE ts_hiro STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=utf8;

ディスクテーブル関連のファイルが作成できない場合は、ゴミが残っている可能性がある。
/export/home/mysql-cluster/ndb_2_fs/配下に残っているゴミを削除する。node-id=3も同様。


2. 後はINSERTとDELETEを繰り返す

insert into t1(c2) values('AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEE');

insert into t1(c2) select c2 from t1;

mysql> delete from t1 limit 100000;

など。

3. アップデートを繰り返しつつ、ちゃんと監視する。

mysql> show create table Table_Space\G
*************************** 1. row ***************************
View: Table_Space
Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `air1016`.`Table_Space` AS select `FILES`.`FILE_NAME` AS `FILE_NAME`,((`FILES`.`TOTAL_EXTENTS` * `FILES`.`EXTENT_SIZE`) / (1024 * 1024)) AS `Total MB`,((`FILES`.`FREE_EXTENTS` * `FILES`.`EXTENT_SIZE`) / (1024 * 1024)) AS `Free MB`,`FILES`.`EXTRA` AS `EXTRA` from `INFORMATION_SCHEMA`.`FILES` where (`FILES`.`ENGINE` = _utf8'NDBCLUSTER')
character_set_client: latin1
collation_connection: latin1_swedish_ci
1 row in set (0.00 sec)

mysql> select * from Table_Space;
+---------------+----------+---------+-----------------------------------------+
| FILE_NAME | Total MB | Free MB | EXTRA |
+---------------+----------+---------+-----------------------------------------+
| data_hiro.dat | 128.0000 | 47.0000 | CLUSTER_NODE=2 |
| data_hiro.dat | 128.0000 | 47.0000 | CLUSTER_NODE=3 |
| undo_hiro.dat | 128.0000 | NULL | CLUSTER_NODE=2;UNDO_BUFFER_SIZE=8388608 |
| undo_hiro.dat | 128.0000 | NULL | CLUSTER_NODE=3;UNDO_BUFFER_SIZE=8388608 |
| NULL | NULL | 65.1864 | UNDO_BUFFER_SIZE=8388608 |
+---------------+----------+---------+-----------------------------------------+
5 rows in set (0.19 sec)

4. そのうち、片方のData Nodeが落ちることが分かる。

5. エラーログは、こんな感じ。

[root@Solaris1 mysql-cluster]# less ndb_2_error.log
Current byte-offset of file-pointer is: 1566


Time: Thursday 16 October 2008 - 16:39:11
Status: Temporary error, restart node
Message: System error, node killed during node restart by other node (Internal e
rror, 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: 235) 0x0000000e
Program: ndbd
Pid: 16496
Trace: /export/home/mysql-cluster//ndb_2_trace.log.1
Version: mysql-5.1.23 ndb-6.2.15
***EOM***

Time: Friday 24 October 2008 - 11:03:07
Status: Temporary error, restart node
Message: System error, node killed during node restart by other node (Internal e
rror, 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: 235) 0x0000000e
Program: ndbd
Pid: 20745
Trace: /export/home/mysql-cluster//ndb_2_trace.log.2
Version: mysql-5.1.23 ndb-6.2.15
***EOM***

Time: Friday 24 October 2008 - 11:23:44
Status: Temporary error, restart node
Message: System error, node killed during node restart by other node (Internal e
rror, 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: 235) 0x0000000e
Program: ndbd
Pid: 21275
Trace: /export/home/mysql-cluster//ndb_2_trace.log.3
Version: mysql-5.1.23 ndb-6.2.15
***EOM***

(END)

6. 繰り返し

MySQL Clusterのシャットダウン

Data Nodeは--initialで起動

data, undoファイルを手動で削除

で、

10GBにすると、起動せず

8GBにすると、同じ個所で同じエラー

9GBでも、同じくエラー

---
24秒かかるクエリは、問題ない。

mysql> insert into t1(c2) select c2 from t1;
Query OK, 65536 rows affected (24.07 sec)
Records: 65536 Duplicates: 0 Warnings: 0