Takayuki Honda
honda****@gmail*****
2012年 3月 28日 (水) 20:19:30 JST
度々失礼します。本多と申します。
現在Spider+mroongaの組み合わせを試しているのですが、
Spiderからmroongaのテーブルにデータをinsertする際、
CreateTableした後の、一番最初のクエリがエラーになる現象
が発生しています。
環境:
■Spider
CentOS5.5
spider2.28
(バイナリ版使用
mysql-5.5.14-spider-2.28-vp-0.17-hs-1.1-q4m-0.95-linux-x86_64-glibc25.tgz)
■DataNode
CentOS5.7
Groonga2.00
Mroonga2.01
Mysql5.5.21
(全てソースからコンパイル)
DDL:
■Spider
CREATE TABLE `text_sample` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(256) COLLATE utf8_bin DEFAULT NULL,
`status` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `fidx_text_sample_01` (`name`)
) ENGINE=SPIDER DEFAULT CHARSET=utf8 COLLATE=utf8_bin CONNECTION='table "text_sample", user "app", password "sample" '
/*!50100 PARTITION BY KEY ()
(PARTITION db1 COMMENT = 'host "xxx.xxx.xxx.xxx", port "3306"' ,
PARTITION db2 COMMENT = 'host "xxx.xxx.xxx.xxx", port "3306"' ) */;
■DataNode
CREATE TABLE `text_sample` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(256) COLLATE utf8_bin DEFAULT NULL,
`status` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `fidx_text_sample_01` (`name`)
) ENGINE=mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Spider1台、DataNode2台の構成で試しています。
ここで、テーブルを作った後最初のinsert文が必ずコケます。
Out of rangeと言われてますが、値は範囲内です。
mysql> insert into text_sample(name) values('なでしこ');
ERROR 1264 (22003): Out of range value for column 'text_sample' at row
167
2回目以降はうまくいきます。
mysql> insert into text_sample(name) values('なでしこ');
Query OK, 1 row affected (0.01 sec)
FulltextIndex対象のカラムでも、それ以外のカラムでも同様でした
(上記DDLで言うと、statusカラムにinsertしてもエラーになる)。
これがデータノードのエンジンがMroongaの時だけ発生します。
MyISAM,InnoDB,Mroongaラッパーモード(InnoDB使用)では発生しませんでした。
このような現象って、何か思い当たりますでしょうか??
お手数ですが、アドバイス頂きたくお願い致します。
--
Takayuki Honda <honda****@gmail*****>