[groonga-dev,02133] Re: Mroongaにおけるテーブル参照型のインデックス追加削除について

Maruyama Kenji mmmar****@gmail*****
2014年 2月 14日 (金) 13:55:57 JST


丸山です。報告ありがとうございます。

> 本件は、カラムの追加削除ではなく、以下のようなテーブル参照型の
> インデックスを追加しようとすると、mysqldがクラッシュします。


同じ現象を確認できました。原因調査と修正させていただきます。


On 2014/02/12, at 17:40, Naoya Murakami <visio****@gmail*****> wrote:

> お世話になっております。村上です。
> 
> 以前、テーブル参照型のインデックスを持つテーブルに対するカラム
> 追加削除について、相談させていただきました。
> これついては、カラム追加削除でINPLACE ALTER TABLEが使われれば、
> 一時テーブルが作成されず対応できそうということでした。
> 
> http://sourceforge.jp/projects/groonga/lists/archive/dev/2014-January/002037.html
> 
> 本件は、カラムの追加削除ではなく、以下のようなテーブル参照型の
> インデックスを追加しようとすると、mysqldがクラッシュします。
> 
> ALTER TABLE Bugs ADD FULLTEXT INDEX bugs_tags_index (tags) COMMENT 'table
> "Tags"';
> 
> mysqld.logのバックトレースを見ると、インデックスの追加で
> mysql_inplace_alter_tableが呼ばれた後、見えてない部分で
> 落ちているようです。
> 
> Mroongaでテーブル参照型のインデックスの追加削除がクラッシュ
> しないようにできると嬉しいです。
> 
> 色々お忙しいと思いますし、一時DBを作成後入れ直すという運用が
> 可能なので、いずれ可能であれば。という感じで大丈夫です!
> 
> (Groonga的には、以下のようなインデックスカラムの追加でいける
> と思うのですが、なんとか、MySQLとのインターフェースを残して
> おきたいと思いまして。。以下をGroongaで直接追加してしまうと
> 不整合のせいか、MySQLからはselectができなくなってしまいます。)
> 
> column_create Tags bugs_tags_index COLUMN_INDEX|WITH_POSITION Bugs tags
> 
> ・環境
> groonga-4.0.0、mroonga-4.00
> MySQL5.6.14
> 
> 以下の例は、
> groonga-3.1.0、mroonga-3.10
> mariadb10.0.6
> 
> ・再現SQL
> CREATE TABLE Tags (
> name VARCHAR(64) PRIMARY KEY
> ) ENGINE=mroonga DEFAULT CHARSET=utf8
> COLLATE=utf8_bin
> COMMENT='default_tokenizer "TokenDelimit"';
> 
> CREATE TABLE Bugs (
> id INT UNSIGNED PRIMARY KEY,
> tags VARCHAR(40) COMMENT 'type "Tags"'
> ) ENGINE=mroonga DEFAULT CHARSET=utf8;
> 
> ALTER TABLE Bugs ADD FULLTEXT INDEX bugs_tags_index (tags) COMMENT 'table
> "Tags"';
> 
> ・mysqld.log中のバックトレース(あまり見えてませんが)
> Thread pointer: 0x0x3ce7978
> Attempting backtrace. You can use the following information to find out
> where mysqld died. If you see no messages after this, something went
> terribly wrong...
> stack_bottom = 0x7f64bc07cc98 thread_stack 0x48000
> mysys/stacktrace.c:247(my_print_stacktrace)[0xa74da9]
> sql/signal_handler.cc:153(handle_fatal_signal)[0x6d092a]
> ??:0(??)[0x3b1c80f500]
> ??:0(??)[0x7f63695dde6a]
> ??:0(??)[0x7f63695d5fe9]
> sql/sql_table.cc:6527(mysql_inplace_alter_table)[0x605ccc]
> sql/sql_table.cc:8292(mysql_alter_table(THD*, char*, char*,
> HA_CREATE_INFO*, TAB
> LE_LIST*, Alter_info*, unsigned int, st_order*, bool))[0x60891c]
> sql/sql_alter.cc:312(Sql_cmd_alter_table::execute(THD*))[0x64aa83]
> sql/sql_parse.cc:5037(mysql_execute_command(THD*))[0x58de98]
> sql/sql_parse.cc:6365(mysql_parse(THD*, char*, unsigned int,
> Parser_state*))[0x5
> 94059]
> sql/sql_parse.cc:1298(dispatch_command(enum_server_command, THD*, char*,
> unsigne
> d int))[0x5955f3]
> 
> 
> 以上、よろしくお願いします。
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev




groonga-dev メーリングリストの案内