[groonga-dev,01212] Re: MySQLのmroongaテーブル名変更による障害?

Back to archive index

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




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