[groonga-dev,01263] Re: INDEXの作成(ADD)もしくは有効(ENABLE)でエラー (3)

Back to archive index

kentoku kento****@gmail*****
2013年 3月 21日 (木) 03:58:18 JST


斯波です。

問題個所の特定と修正が完了いたしましたので、
ご連絡させて頂きます。
次回リリースで修正版がご利用頂けますので、
お手数ではございますがご確認いただけますよう
お願い申し上げます。

どうぞ、よろしくお願いいたします。


2013年3月21日 0:31 kentoku <kento****@gmail*****>:
> 斯波です。
>
> 再現手順のご教示ありがとうございます。
> 添付ファイルは確認できておりませんが、頂いたメールの内容を元に
> テストデータを作成し再現を試みたところ、最新版でも怪しい挙動が
> 確認できましたので、調査を開始させて頂きます。
> 対応チケットは以下となります。
> http://redmine.groonga.org/issues/1671
> ひとまず、ご連絡させて頂きます。
>
> どうぞ、よろしくお願いいたします。
>
>
> 2013年3月17日 23:46 keigo ito <keigo****@gmail*****>:
>> 斯波さま:
>>
>> mroonga 3.01
>> での検証は後日実施する予定ですが(をやるつもりでしたが時間切れとなったため)、まずは以下の環境での再現手順をお知らせさせていただきます。
>>
>> ■ 環境
>> groonga-libs-2.0.8-0
>> groonga-tokenizer-mecab-2.0.8-0
>> mecab-0.994-1
>> mecab-ipadic-2.7.0.20070801-5.1
>> MySQL-client-5.5.27-1.rhel5
>> mysql-mroonga-2.06-0
>> MySQL-server-5.5.27-1.rhel5
>> MySQL-shared-5.5.28-1.rhel5
>> # いずれも groonga yum repositoryよりインストール
>>
>> ■ 再現手順
>> [1] 添付DDLファイルを実行
>>   $ cat /var/tmp/news-ddl.sql | mysql -uroot
>>
>> [2] DownloadしたデータファイルをMySQLにロード
>>   mysql> LOAD DATA INFILE '/var/tmp/news-data.txt' INTO TABLE article;
>>
>> [3] 中身のレコードを確認
>>   $ mysql -u root
>>   mysql> USE news;
>>   mysql> SELECT * FROM article LIMIT 1 \G
>>   *************************** 1. row ***************************
>>            id: article-id-001
>>          date: 2013-03-20 08:00:00
>>         title: 吾輩は猫である
>>          body: 『吾輩は猫である』(わがはいはねこである)は、夏目漱石の長編小説。……
>>   search_text: 『吾輩は猫である』(わがはいはねこである)は、夏目漱石の長編小説。……
>>       created: 0000-00-00 00:00:00
>>   1 row in set (0.00 sec)
>>
>>   # 999件、(PRIMARY KEY `id` を除いて)全て同じデータの行
>>
>> [4] カラム `search_text` で、全文検索が有効であることを確認。
>>   mysql> SELECT id, title FROM article WHERE MATCH(search_text)
>> AGAINST('夏目漱石');
>>   → 999件がヒットする。
>>
>> [5] (再現) DISABLE KEYS したあと、 ENABLE KEYS するとWarningが発生。
>>   mysql> ALTER TABLE article DISABLE KEYS;
>>   Query OK, 0 rows affected (0.00 sec)
>>
>>   mysql> ALTER TABLE article ENABLE KEYS;
>>   Query OK, 0 rows affected, 1 warning (0.01 sec)
>>
>>   mysql> SHOW WARNINGS;
>>   +-------+------+-------------------------------------------------+
>>   | Level | Code | Message                                         |
>>   +-------+------+-------------------------------------------------+
>>   | Error | 1026 | failed to add a new record into groonga: key=<> |
>>   +-------+------+-------------------------------------------------+
>>   1 row in set (0.00 sec)
>>
>>   〜 以降、[4] のクエリを実行しても、1件しかHitしない。(999件Hitすべきところ)〜
>>
>>
>>
>> 2013年3月12日 22:52 kentoku <kento****@gmail*****>:
>>
>>> 斯波です。
>>>
>>> こちらで挙動を確認させて頂いたのですが、現在のところ
>>> 現象が再現できておりません。
>>>
>>> お手数ではございますが、最新のmroonga(3.0.1)で、
>>> ご確認いただくことはできますでしょうか?
>>>
>>> どうぞ、よろしくお願いいたします。
>>>
>>>
>>> 2013年3月10日 10:36 keigo ito <keigo****@gmail*****>:
>>> > # MLに届いているか不安でしたので再送させて頂きます。
>>> > 多重投稿となりましたら申し訳ございません。
>>> >
>>> >
>>> > 初めて投稿します。
>>> > K5と申します。
>>> > 以下、FAQでしたら申し訳ございません。
>>> >
>>> > mroonga 2.0.6 をラッパーモードで利用しています。
>>> > 後述の[0] の通り、ujisのテーブルに UTF-8のカラム、"search_text" を作成し、
>>> > そのカラムにFULLTEXT INDEX "search_text" を作成しています。
>>> >
>>> > ふとしたことで、
>>> > ALTER TABLE `article` DISABLE KEYS
>>> > にて、INDEXを無効にしてしまったところ、
>>> >
>>> > ALTER TABLE `article` ENABLE KEYS
>>> > すると、以下のようなエラーが表示され、INDEXを有効にできません。
>>> >
>>> > ERROR 1026 (HY000): failed to add a new record into groonga: key=<>
>>> >
>>> >
>>> > そこで、INDEXの削除・再作成を試みました。
>>> > ALTER TABLE article DROP INDEX `search_text`;
>>> > ALTER TABLE article ADD FULLTEXT INDEX `search_text` (`search_text`);
>>> >
>>> > が、やはり同じエラーが表示されます。
>>> >
>>> > ERROR 1026 (HY000): failed to add a new record into groonga: key=<>
>>> >
>>> >
>>> > 以降、全文検索ができない状態になっています。
>>> > 復旧させる方法がございましたら、是非ご教授ください
>>> >
>>> > よろしくお願いいたします。
>>> >
>>> > ----------------------
>>> >
>>> > [0] DDL
>>> >
>>> > CREATE TABLE `article` (
>>> >     `id` varchar(128) NOT NULL,
>>> >     `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
>>> >     `title` text NOT NULL,
>>> >     `body` text NOT NULL,
>>> >     `search_text` text CHARACTER SET utf8 COLLATE utf8_unicode_ci,
>>> >     `created` timestamp NULL DEFAULT '0000-00-00 00:00:00',
>>> >     PRIMARY KEY (`id`),
>>> >     FULLTEXT KEY `search_text` (`search_text`)
>>> > ) ENGINE=mroonga DEFAULT CHARSET=ujis COMMENT='ENGINE "InnoDB"'
>>> >
>>> >
>>> > [1] SHOW VARIABLES LIKE 'mroonga_%'; の結果
>>> > mroonga_database_path_prefix
>>> > mroonga_default_parser  TokenMecab
>>> > mroonga_default_wrapper_engine
>>> > mroonga_dry_write       OFF
>>> > mroonga_enable_optimization     ON
>>> > mroonga_libgroonga_version      2.0.6
>>> > mroonga_log_file        groonga.log
>>> > mroonga_log_level       NONE
>>> > mroonga_match_escalation_threshold      0
>>> > mroonga_version 2.06
>>> > _______________________________________________
>>> > groonga-dev mailing list
>>> > groon****@lists*****
>>> > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>>>
>>> _______________________________________________
>>> groonga-dev mailing list
>>> groon****@lists*****
>>> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>>>
>>
>> _______________________________________________
>> groonga-dev mailing list
>> groon****@lists*****
>> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>>




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