[Ludia-users 106] Re: sen_index_upd failedについて

アーカイブの一覧に戻る

morit****@razil***** morit****@razil*****
2007年 10月 10日 (水) 15:55:02 JST


こんにちは。森です。

>>> 川西 哲央 さんは書きました:
> こんばんは。川西です。
> 
> 森さん、ご返答いただきありがとうございます。
> また、こちらの返信が遅くなってしまい、申し訳ありません。

いえいえ。詳細な障害報告ありがとうございます。大変助かります。

> 以前、質問させていただいた「loop found!!」、「invalid jump! 」が
> 発生し、「sen_index_upd failed」となってしまう件ですが、
> 調査を進めたところ、この現象が発生する直前にマシンの電源が
> 突然切れるトラブル(電源ケーブルを抜くことと等価)が発生し、
> 現象発生の大きな要因となっていることが判明しました。
> 電源断の試験を行ったところ似たような現象は発生しました。

たしかに、正常にshutdownせずに電源を切るとこのような形でインデックスが
破損する可能性があります。

> また、電源断以外に「sen_index_upd failed」となってしまう現象について
> 質問させてください。
> 大量にINSERT処理を行ったところ、postgreSQLのログで「sen_index_upd failed」と
> 
> 出力され、INSERTできない状態になってしまいました。
> sennaのログでは以下にある内容のエラーが発生しています。
> 
> 上記と同じ現象と思われるものは、以前に2回ほど発生しており、
> 再現方法も概ね見当がついてきている状況です。
> 
> sennaのバージョンが1.0.7ですので、1.0.9へのアップグレードで解決となれば良い
> のですが、
> 何が原因となっているのかがわからない状況です。
> 何かお解りでしたら、ご教示くださいますよう、よろしくお願いします。

1.0.7では、mmapに失敗した場合にdeadlockに陥り、
以降、更新処理が一切行えなくなる障害がありました。
これは1.0.9で解消している可能性が高いと思います。

ただし、mmapの失敗そのものが解消するわけではありません。

mmapが失敗するのは、論理メモリ空間やファイルデスクリプタ等の資源が枯渇している
ことが原因である可能性が高いと思いますが、未知のSennaのバグである可能性もあると
思います。

この事象が発生した時点でのpostgresqlプロセスの資源消費状況を教えていただけると
判断できると思います。具体的には以下の実行結果がいただけると助かります。

 cat /proc/pid/status
 cat /proc/pid/maps
 ls -l /proc/pid/fd/
 ls -lL /proc/pid/fd/

以上よろしくお願いいたします。

--
mori




Ludia-users メーリングリストの案内
アーカイブの一覧に戻る