[groonga-dev,03577] Re: Mroonga_で_data_truncated_for_primary_key_column: <id> が発生する

Back to archive index

Kouhei Sutou kou****@clear*****
2015年 10月 19日 (月) 00:05:29 JST


須藤です。

In <20151****@domai*****>
  "[groonga-dev,03576] Re: Mroonga_で_data_truncated_for_primary_key_column: <id> が発生する" on Fri, 16 Oct 2015 19:42:09 +0900,
  各務 洋 <kagam****@outwa*****> wrote:

>> ↓に今のmaster用のRPMを作りました。
>>   http://packages.groonga.org/tmp/groonga-libs-5.0.9-1.el6.x86_64.rpm
>> 
>> もし、groonga-libs以外にも使っているパッケージがあれば同じディ
>> レクトリーにあるのでファイル名に「5.0.9-1.el6.x86_64」が入っ
>> ているファイルを探してください。
> 
> ありがとうございます!
> 
>> これは、まだMroonga側にそのケースに対応するコードが入ってい
>> ないからです。
> 
> という事は、Mroonga側の対応を待ってからの方が良さそうですね?

開発者側としては一気に確認してもらうより、1つずつ確認しても
らった方が助かります。理由はどの変更が効果があったかがはっき
りするからです。

Mroonga側にも対応を入れてみました。
  http://packages.groonga.org/tmp/mysql-community-mroonga-5.09-2.el6.x86_64.rpm

クラッシュリカバリーが動いたときはgroonga.logに"Auto repair
is done"というログがでるようにしてありますが、手元で試した範
囲では一度も発動しませんでした。あまり効果がないかもしれませ
ん。


念のため、改めて書きますが、これはInnoDBのようにどんなときに
クラッシュしてもレカバリーできるものでは「ありません」。新規
レコード作成中とレコード削除中にクラッシュしたときにリカバリー
できる「可能性が増える」だけです。

たとえば、Groongaレベルでの更新処理中にクラッシュして、デー
タが入っているテーブルにロックが残ったときはリカバリーできま
せん。

なにがあってもなくなってはいけないデータを扱うときは、バック
アップをとったり(mysqldumpでもいいですし、レプリケーション
で別マシンに随時コピーでもいいです)、元データを保存しておい
たりして、Mroongaがクラッシュしてデータベースが壊れてしまっ
たときに復旧できる運用にしてください。



-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
  http://www.clear-code.com/recruitment/
コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ:
  http://www.clear-code.com/services/code-reader/




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