[groonga-dev, 04215] Re: 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月 18日 (日) 20:41:09 JST


結城さん

お世話になっております。宮下です。
お返事が遅くなり、申し訳ありません。
土日も仕事であったことと、並行してテストデータの作成を行っていたため遅れましたorz

>環境構築の項で、RPMパッケージのインストールとソースからのビルドを両方実
>施されているようですが、これは最終的にはソースからビルドした
>MySQL/Mroongaが使われることが想定されているということでしょうか?

すべてMySQL/Mroonga/Groongaすべてソースからビルドしたものです。
しかし、groonga-develは必要なかったようですね。前任者がdevelもインストールした上でGroongaをソースからビルドしていたので必要かと思い込んでおりました。

>また、エラーの再現手順について、新しいデータベースを作成する所から順番に
>このコマンドを実行するとエラーが発生する、というような形で手順を教えてい
>ただくことはできますでしょうか?

■再現手順
1)データベース作成
CREATE DATABASE mrn_test;

2)テーブル作成
CREATE TABLE `multi_column` (
  `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 `multi_column_ix1` (`col1`,`col2`,`col3`,`col8`,`col7`),
  KEY `multi_column_ix2` (`col1`,`col2`,`col3`,`col4`,`col8`,`col7`),
  KEY `multi_column_ix3` (`col1`,`col2`,`col7`,`col5`),
  FULLTEXT KEY `multi_column_ix4` (`col8`)
) ENGINE=Mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_bin ;

3)データをINSERT
source insert.dump
※90万行ほどinsertしたところでエラーが出始めます。

■エラーログ by groonga.log
2016-12-18 19:30:22.775664|A|ac2d5700|[ii][update][one] failed to create a
buffer: <multi_column#multi_column_ix3.index>: <1290899>:<1>:<501928>:
size:<12>
2016-12-18
19:30:22.787762|A|ac2d5700|/usr/local/lib/libgroonga.so.0(grn_ii_update_one+0x2c19)
[0x7f79dca66bc9]
2016-12-18
19:30:22.787842|A|ac2d5700|/usr/local/lib/libgroonga.so.0(grn_ii_column_update+0x2871)
[0x7f79dca6fe5e]
2016-12-18
19:30:22.787923|A|ac2d5700|/usr/local/lib/libgroonga.so.0(grn_column_index_update+0x296)
[0x7f79dc8ff837]
2016-12-18
19:30:22.787945|A|ac2d5700|/mysql/MyHome/lib/plugin/ha_mroonga.so(_ZN10ha_mroonga39storage_write_row_multiple_column_indexEPhjP6st_keyP8_grn_obj+0x140)
[0x7f79dd1734c0]
2016-12-18
19:30:22.787956|A|ac2d5700|/mysql/MyHome/lib/plugin/ha_mroonga.so(_ZN10ha_mroonga41storage_write_row_multiple_column_indexesEPhj+0x9c)
[0x7f79dd17365c]
2016-12-18
19:30:22.787967|A|ac2d5700|/mysql/MyHome/lib/plugin/ha_mroonga.so(_ZN10ha_mroonga17storage_write_rowEPh+0x456)
[0x7f79dd17ee66]
2016-12-18
19:30:22.787978|A|ac2d5700|/mysql/MyHome/bin/mysqld(_ZN7handler12ha_write_rowEPh+0xb0)
[0x5913a0]
2016-12-18
19:30:22.787989|A|ac2d5700|/mysql/MyHome/bin/mysqld(_Z12write_recordP3THDP5TABLEP9COPY_INFOS4_+0x79)
[0x6b8599]
2016-12-18
19:30:22.788000|A|ac2d5700|/mysql/MyHome/bin/mysqld(_Z12mysql_insertP3THDP10TABLE_LISTR4ListI4ItemERS3_IS5_ES6_S6_15enum_duplicatesb+0xabf)
[0x6bf9ff]
2016-12-18
19:30:22.788011|A|ac2d5700|/mysql/MyHome/bin/mysqld(_Z21mysql_execute_commandP3THD+0x190c)
[0x6d6e8c]
2016-12-18
19:30:22.788022|A|ac2d5700|/mysql/MyHome/bin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x4c7)
[0x6da4c7]
2016-12-18
19:30:22.788033|A|ac2d5700|/mysql/MyHome/bin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x189c)
[0x6dbe5c]
2016-12-18
19:30:22.788043|A|ac2d5700|/mysql/MyHome/bin/mysqld(_Z24do_handle_one_connectionP3THD+0x10d)
[0x6a423d]
2016-12-18
19:30:22.788054|A|ac2d5700|/mysql/MyHome/bin/mysqld(handle_one_connection+0x42)
[0x6a4372]
2016-12-18
19:30:22.788086|A|ac2d5700|/mysql/MyHome/bin/mysqld(pfs_spawn_thread+0x127)
[0xaa8e47]
2016-12-18 19:30:22.788097|A|ac2d5700|/lib64/libpthread.so.0(+0x7aa1)
[0x7f79e0219aa1]


この現象ですが少なくともデータの内容にもよると思うのですが100万行前後無いと発生しない可能性があります。
こちらでテストデータを作成したのでよろしければ、提供したいのですがいかがでしょうか。アップローダの指定などがありましたら教えていただけますと幸いです。
サイズは32MB程度です。
内容は、以下を予定しております。
・create table のsql
・insertのsql
・再現当時のエラーログならびに、ターミナルへのsourceコマンドの結果


また、少し話は変わりますが、上記エラーは6.09~6.11で発生いたしました。
当初6.11にアップグレードしたのですが、このエラーで詰まってしまい、しかし時間もあまりないことから、
一つ一つダウングレードを行い6.09まで行いました。6.09までなのは以下のエラーを回避したかったからです。

インデックスの削除チェック漏れを修正しました。ヒットすべきものが検索結果から漏れてしまっていました。Groonga
> 6.0.3以降がこの問題の影響を受けます。 [groonga-dev, 04107] [かずひこさんが報告]


そのため、次にMroonga6.02/Groonga6.0.2にダウングレードしましたが今度は4.11のときと同じ不具合が発生し、
最終的には6.11でラッパーモードのして解決しました。ちなみに、4.11の不具合もラッパーモードでは発生しませんでした。
過去のMLを拝見したところ、マルチインデックス関係でラッパーモードでは発生しないがストレージモードでは発生するという事象があったようで
それにヒントを得て検証してみたところうまくいった状態です。

以上、よろしくお願いいたします。


2016年12月16日 15:52 YUKI Hiroshi <yuki****@clear*****>:

> クリアコード 結城です。
>
> 環境構築の項で、RPMパッケージのインストールとソースからのビルドを両方実
> 施されているようですが、これは最終的にはソースからビルドした
> MySQL/Mroongaが使われることが想定されているということでしょうか?
>
> また、エラーの再現手順について、新しいデータベースを作成する所から順番に
> このコマンドを実行するとエラーが発生する、というような形で手順を教えてい
> ただくことはできますでしょうか?
>
> それから、差し支えなければMroonga(Groonga)のログもご確認・ご提供いただ
> けますでしょうか?
> ログは /var/lib/mysql/groonga.log の位置に出力されているはずで、エラー発
> 生時の詳細情報が出力されている可能性があります。
>
> --
> 結城 洋志 <YUKI Hiroshi>
> E-mail: yuki****@clear*****
>
> 株式会社クリアコード
> 〒170-0005 東京都豊島区南大塚3-29-9
>             中野ビル3階
> TEL : 03-5927-9440
> FAX : 03-5927-9441
> WWW : http://www.clear-code.com/
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.osdn.me/mailman/listinfo/groonga-dev
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
Download 



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