Kouhei Sutou
kou****@clear*****
2013年 2月 18日 (月) 18:41:54 JST
須藤です。 In <20130****@ayd*****> "[groonga-dev,01211] Re: MySQLのmroongaテーブル名変更による障害?" on Sun, 17 Feb 2013 21:46:38 +0900 (JST), OHTSUKA Soushi(大塚 総司) <so****@ayd*****> wrote: > MySQL上ではテーブルがあるが、groonga上では存在していない、もしくは違う > 名称になっていてデータベース自体は恐らく壊れていないと言う事でしょうか。 はい、そうじゃないかなぁと思いました。 > 前回のメールで細かい説明が足りなかったので補足します。 > > [DB1] > mroongaテーブルA:障害後利用不可 > mroongaテーブルB:障害後利用不可 > mroongaテーブルC:障害後も利用可能 > > [DB2] > mroongaテーブルa:テーブル名を変更したテーブル、障害後利用不可 > mroongaテーブルb:障害後も利用可能 > mroongaテーブルc:障害後も利用可能 > > [備考] > ・DB2はDB1のステージング環境なのでテーブル名は同じです。 > > > 上記の通り、障害発生後は利用できるテーブルと利用できないテーブルが発生し > ていました。 > 利用できないテーブルにアクセスすると「invalid table assigned」が発生し > MySQLが再起動しました。 > > 違うDBであるDB1側のmroongaまで影響を受けたのが不思議だなと思っています。 > シナリオとして mroongaテーブルa の名称変更が障害の原因と仮定すると、まず > そこで突然のMySQL再起動が発生し、それに巻き込まれて他のテーブルも壊れた感 > じでしょうか。 > (完全に推測で書いてます…) たしかに不思議ですね! mroongaではMySQLのデータベース毎に対応するgroongaのデータベー スを作っているので、groongaのデータベース同士は独立していま す。なので、他の(MySQLの)データベースに影響があるのはクラッ シュに巻き込まれた可能性が高いと思います。 とすると、DB2のテーブルaが何を契機にクラッシュしたかがわかれ ば問題は解決しそうです。 > 次回リリース時に修正が入っているようでしたら、バージョンアップするように > 調整してみます。 はい、次のリリース(今月末を予定。29日はないですが。。。)に は修正が入ります! > もし同じ現象が発生した時にはまたご連絡致します。 ありがとうございます! >> > 取り合えずmroongaのテーブル名変更は怖いので今後は控えようかと思っています。 >> すみません。。。 > > 実際にそれが原因と決まっているわけではないのに、こんなことを書いてこちらこそ > 申し訳ないです。 いえいえ、安心して使ってもらえるようにがんばります! > 今後同じ現象が起こったときにすぐに復旧出来るように > > ・mroonga関連テーブルだけ別途定期ダンプ > ・同じ問題が起こったときはmroonga関連テーブルとファイルも全削除後にダンプ > からリストア > (ファイル削除はDROP TABLE中に変にMySQLが再起動して残った場合のみ実施) > > を考えていたのですが、いけそうな気がします。 はい、それで大丈夫だと思います! -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) groongaサポート: http://groonga.org/ja/support/ パッチ採用はじめました: http://www.clear-code.com/recruitment/ コミットへのコメントサービスはじめました: http://www.clear-code.com/services/commit-comment.html