[groonga-dev, 04211] Mroonga6.11(Groonga6.1.1)"ERROR 1026 (HY000): [ii][update][one] failed to create a buffer"

Back to archive index

Masanori Miyashita walnu****@gmail*****
2016年 12月 15日 (木) 20:41:48 JST


いつもお世話になっております。宮下です。

掲題のエラーが発生し、インデックスを作成できない状況が発生しました。
自分でもソースコードを読んでいるのですが、何分不慣れなため解読に時間がかかっております。
もし、この現象になにか思い当たる方がいらっしゃいましたらご教示いただけますと幸いです。

[発生事象]
KEY `idx3` (`col1`,`col2`,`col7`,`col5`)作成時に失敗
->KEY `idx3` (`col1`,`col2`) -- こうすると成功は`col7`,`col5`はbigint

[エラー内容]
1) alter table .... enable keys 失敗時
ERROR 1026 (HY000): [ii][update][one] failed to create a buffer:
<テーブル名#idx3.index
Error (Code 1026): [ii][update][one] failed to create a buffer:
<テーブル名#idx3.index
Error (Code 1296): Got error 1026 '[ii][update][one] failed to create a
buffer: <テーブル名#idx3' from Mroonga --インデックス名が長かったのか欠けていました

2) alter table .... add index 失敗時
ERROR 1026 (HY000): [ii][update][one] failed to create a buffer:
<テーブル名#idx3.index
Error (Code 1026): [ii][update][one] failed to create a buffer:
<テーブル名#idx3.index
Error (Code 1026): failed to create multiple column index

[エラー発生時のOSリソース]
メモリは500MBを実際に使っていて、残りのおよそ3.5GBはキャッシュ
CPU使用率は4core均等に使って4割程度
ディスクは余裕あり

[テーブル定義]
CREATE TABLE `テーブル名` (
  `col1` int(11) NOT NULL,
  `col2` varchar(64) COLLATE utf8_bin NOT NULL,
  `col3` varchar(64) COLLATE utf8_bin NOT NULL,
  `col4` int(11) NOT NULL,
  `col5` bigint(20) NOT NULL,
  `col6` varchar(255) COLLATE utf8_bin NOT NULL,
  `col7` bigint(20) NOT NULL,
  `col8` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `col9` datetime DEFAULT NULL,
  `col10` datetime DEFAULT NULL,
  PRIMARY KEY (`col1`,`col2`,`col3`,`col4`,`col5`,`col6`,`col7`),
  KEY `idx1` (`col1`,`col2`,`col3`,`col8`,`col7`),
  KEY `idx2` (`col1`,`col2`,`col3`,`col5`,`col8`,`col7`),
  KEY `idx3` (`col1`,`col2`,`col7`,`col5`),
  FULLTEXT KEY `idx4` (`col8`)
) ENGINE=Mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_bin


[環境:SW]
OS:CentOS release 6.3 (Final) -- Guest OS
Kernel:2.6.32-358.6.2.el6.x86_64
MySQL:5.6.17
Mroonga:6.11 --ストレージモード
Groonga:6.1.1

[環境:HW]
CPU:4 core
memory:4GB

[Kernel設定]
vm.overcommit_memory = 1
vm.max_map_count = 500000

[環境構築]
1)以下のrpmをインストール
groonga-tokenizer-mecab-6.1.1-1.el6.x86_64
groonga-normalizer-mysql-devel-1.1.1-1.el6.x86_64
groonga-normalizer-mysql-1.1.1-1.el6.x86_64
groonga-libs-6.1.1-1.el6.x86_64
groonga-devel-6.1.1-1.el6.x86_64
msgpack-0.5.7-5.el6.x86_64
mecab-ipadic-2.7.0.20070801-11.el6.1.x86_64
lz4-r131-1.el6.x86_64
libzstd-1.1.1-1.el6.x86_64
mecab-0.996-1.el6.3.x86_64

2)Groonga,Mroongaをそれぞれビルド。
手順は公式ドキュメントの通り

3)モジュールをインストール
mysqldを再起動後、install.sqlを行ないました。

[備考]
4.10からのアップデートですが、テーブルは新規にインポートしたので新規構築です

[試行錯誤]
PK,key1,key2,key4をdropしてkey3だけをつけようとしてもエラーでしたorz

長くなりましたが、何卒よろしくお願いいたします。
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
Download 



groonga-dev メーリングリストの案内
Back to archive index