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