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

Back to archive index

川西 哲央 t_kawan****@hotma*****
2007年 10月 10日 (水) 00:00:38 JST


こんばんは。川西です。

森さん、ご返答いただきありがとうございます。
また、こちらの返信が遅くなってしまい、申し訳ありません。

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


また、電源断以外に「sen_index_upd failed」となってしまう現象について
質問させてください。
大量にINSERT処理を行ったところ、postgreSQLのログで「sen_index_upd failed」と

出力され、INSERTできない状態になってしまいました。
sennaのログでは以下にある内容のエラーが発生しています。

上記と同じ現象と思われるものは、以前に2回ほど発生しており、
再現方法も概ね見当がついてきている状況です。

sennaのバージョンが1.0.7ですので、1.0.9へのアップグレードで解決となれば良い
のですが、
何が原因となっているのかがわからない状況です。
何かお解りでしたら、ご教示くださいますよう、よろしくお願いします。

●環境は以下の通りです。(本番機なので以前のものと多少構成が異なります)
Redhat EL5
PostgreSQL 8.2.4
ludia-1.1.0
senna-1.0.7
※CEにて年単位でテーブル分割を行っています。
※indexはngramを使用しています。

■postgreSQLログ
pg_execute(): Query failed: ERROR:  pgsenna2: sen_index_upd failed while 
do_insert (1)

■sennaログ
10/09:23:00:35.287498|A| io_win_map(11, 262144) failed!! 
10/09:23:00:35.288274|A| mmap(%,262144,101)=U(
 %> 
10/09:23:00:35.288291|A| io_win_map(11, 262144) failed!! 
10/09:23:00:35.378396|A| mmap(%,262144,100)= <%> 
10/09:23:04:57.911809|C| deadlock detected!! in sen_io_seg_ref(0x9bf66b8, 
1028) 
10/09:23:09:20.416216|C| deadlock detected!! in sen_io_seg_ref(0x9bf66b8, 
1028) 
10/09:23:13:42.860616|C| deadlock detected!! in sen_io_seg_ref(0x9bf66b8, 
1028) 
10/09:23:18:07.129766|C| deadlock detected!! in sen_io_seg_ref(0x9bf66b8, 
1028) 
10/09:23:22:31.194267|C| deadlock detected!! in sen_io_seg_ref(0x9bf66b8, 
1028) 
10/09:23:26:53.742684|C| deadlock detected!! in sen_io_seg_ref(0x9bf66b8, 
1028) 
10/09:23:31:16.039069|C| deadlock detected!! in sen_io_seg_ref(0x9bf66b8, 
1028) 
10/09:23:35:40.783815|C| deadlock detected!! in sen_io_seg_ref(0x9bf66b8, 
1028) 

Tetsuo Kawanishi
t_kawan****@hotma*****

>こんにちは。森と申します。
>
>エラーメッセージから判断すると、インデックスが破損しているようです。
>
>以下の点について確認させて頂いてよろしいでしょうか?
>
>1) 再現性について。
>    この事象には再現性はあるでしょうか?  データベースが空っぽの状態、
>    あるいはインデックスをcreateした直後の状態からテストして、
>    必ず再現するか、あるいは不定期に低い頻度でしか再現しないか。
>
>2) 検索/更新処理のシーケンス
>    同時にいくつ程度のセッションを張ることがあるでしょうか?
>    複数のセッションが同時に当該テーブルを更新するシーケンスも存在するで
しょうか?
>
>以上よろしくお願いいたします。
>
> >>> 川西 哲央 さんは書きました:
> > はじめまして。川西と申します。
> >
> > リリース前のシステムでludiaを使用させていただいています。
> > sen_index_upd failedについて質問させてください。
> >
> > 環境は以下の通りです。
> > CentOS 5.0
> > PostgreSQL 8.2.3
> > ludia-1.1.0
> > senna-1.0.7
> > ※CEにて年単位でテーブル分割を行っています。
> > ※indexはngramを使用しています。
> >
> > UPDATE、および、INSERT場合に、pgsenna2の"sen_index_upd failed"が出力さ
れ、
> > データの登録に失敗する状況が発生しました。
> > senna.logでは"loop found!!"、"invalid jump!"などが出力されています。
> > 発生後、約25件程度"sen_index_upd failed"が現象が発生し、
> > この状態は約一日で治まりました。
> >
> > エラーメッセージより、indexの更新に失敗していることは解るのですが、
> > 具体的な原因やどのような状態になっているのかが解っていません。
> >
> > また、末永さんのblogで、insert/updateのあとrollbackがかかった場合、
> > indexにゴミが混じることがあるとの記載がありますが、
> > 現在の構成では、マスタテーブルと検索テーブルを分けるような構成に
> > なっていません。またトランザクションも利用しています。
> > こちらが原因の可能性も高いでしょうか?
> > http://d.hatena.ne.jp/tasukuchan/20061129/1164778826
> >
> > 原因、および、対処法などお解かりでしたら、
> > お手数ですがご教示いただきたいと思います。
> >
> > よろしくお願いいたします。
> >
> > postgresのエラーの一部を抜粋します。
> > 2007-09-20 14:10:54 postgres7 error: [-1: ERROR:  pgsenna2: 
sen_index_upd
> > failed while do_insert (2)
> >
> > senna.logの一部を抜粋します。
> > 09/20:14:07:52.441131|n| RLIMIT_STACK is 10485760 (0)
> > 09/20:14:07:52.441192|n| expanded RLIMIT_STACK to 268435456
> > 09/20:14:07:52.441258|n| RLIMIT_STACK is 268435456 (0)
> > 09/20:14:07:52.441457|n| index opened
> > (0xa224f38:/var/lib/pgsql/data/base/1778234/1799079) flags=1f
> > 09/20:14:07:52.541977|n| palloced when untoasted (0xa44b798)
> > 09/20:14:07:52.542097|n| RLIMIT_STACK is 268435456 (0)
> > 09/20:14:07:52.542330|n| index opened
> > (0xa225360:/var/lib/pgsql/data/base/1778234/1799080) flags=1f
> > 09/20:14:07:52.564553|n| RLIMIT_STACK is 268435456 (0)
> > 09/20:14:07:52.564788|n| index opened
> > (0xa225788:/var/lib/pgsql/data/base/1778234/1799081) flags=1f
> > 09/20:14:07:52.613647|n| RLIMIT_STACK is 268435456 (0)
> > 09/20:14:07:52.613893|n| index opened
> > (0xa225bb0:/var/lib/pgsql/data/base/1778234/1799082) flags=1f
> > 09/20:14:10:40.109939|n| RLIMIT_STACK is 10485760 (0)
> > 09/20:14:10:40.460210|n| expanded RLIMIT_STACK to 268435456
> > 09/20:14:10:40.488812|n| RLIMIT_STACK is 268435456 (0)
> > 09/20:14:10:40.956380|n| index opened
> > (0xa190778:/var/lib/pgsql/data/base/1778234/1799079) flags=1f
> > 09/20:14:10:45.800961|E| loop found!!! (51212:1)->(0:0)
> > 09/20:14:10:46.617661|E| loop found!!! (50504:1)->(3727:0)
> > 09/20:14:10:47.485024|E| loop found!!! (51016:1)->(4:1013)
> > 09/20:14:10:48.737117|C| invalid jump!
> > 7865(0:7836)(52581:1)->7794(0:7796)(0:0)
> > 09/20:14:10:50.804589|C| invalid jump!
> > 31431(30567:31396)(52501:1)->29656(0:29669)(0:0)
> > 09/20:14:10:52.564664|E| loop found!!! (50503:1)->(4:2607)
> > 09/20:14:10:52.807168|E| loop found!!! (50028:1)->(0:0)
> > 09/20:14:10:53.011988|E| loop found!!! (49811:1)->(767:0)
> > 09/20:14:10:53.254620|E| loop found!!! (50242:1)->(6:490)
> > 09/20:14:10:53.481105|E| loop found!!! (50513:1)->(4:8443)
> > 09/20:14:10:53.738077|C| invalid jump!
> > 10460(9053:9991)(52463:1)->7777(0:7793)(0:0)
> > 09/20:14:10:53.774484|E| loop found!!! (50111:1)->(103:2022)
> > 09/20:14:10:53.897157|E| loop found!!! (51016:1)->(5146:1035311)
> > 09/20:14:10:54.032543|C| invalid jump!
> > 29781(29718:29737)(52585:1)->29650(0:29656)(0:0)
> > 09/20:14:10:54.054132|E| loop found!!! (50243:1)->(4:721)
> > 09/20:14:10:54.221203|C| invalid jump!
> > 45379(44884:45332)(52567:1)->44225(0:44259)(0:0)
> > 09/20:14:10:54.331345|E| loop found!!! (50027:1)->(4:5459)
> > 09/20:14:18:51.697934|n| RLIMIT_STACK is 10485760 (0)
> > 09/20:14:18:51.697998|n| expanded RLIMIT_STACK to 268435456
> > 09/20:14:18:51.698053|n| RLIMIT_STACK is 268435456 (0)
> > 09/20:14:18:51.698347|n| index opened
> > (0xa03f550:/var/lib/pgsql/data/base/1778234/1799079) flags=1f
> > 09/20:14:18:51.698436|n| RLIMIT_STACK is 268435456 (0)
> > 09/20:14:18:51.760899|n| index opened
> > (0xa0f8318:/var/lib/pgsql/data/base/1778234/1799080) flags=1f
> > 09/20:14:18:52.183709|n| RLIMIT_STACK is 268435456 (0)
> > 09/20:14:18:52.224979|n| index opened
> > (0xa0f8740:/var/lib/pgsql/data/base/1778234/1799081) flags=1f
> > 09/20:14:18:53.008296|n| RLIMIT_STACK is 268435456 (0)
> > 09/20:14:18:53.043750|n| index opened
> > (0xa0f8b68:/var/lib/pgsql/data/base/1778234/1799082) flags=1f
> >
> > Tetsuo Kawanishi
> > t_kawan****@hotma*****
> >
> > _________________________________________________________________
> > 広告表示なし。アカウント有効期限なし。Windows Live Hotmail Plusを使って
み
> > る? http://get.live.com/mail/options
> >
> > _______________________________________________
> > Ludia-users mailing list
> > Ludia****@lists*****
> > http://lists.sourceforge.jp/mailman/listinfo/ludia-users
> >
>--
>mori
>
>_______________________________________________
>Ludia-users mailing list
>Ludia****@lists*****
>http://lists.sourceforge.jp/mailman/listinfo/ludia-users

_________________________________________________________________
Webページを見ながらスムーズ検索「サーチペイン」搭載のMSN版IE7をダウンロード 
http://promotion.msn.co.jp/ie7/ 




Ludia-users メーリングリストの案内
Back to archive index