[pgsql-jp: 35462] Re: pgpoolのデッドロック、その後

Tatsuo Ishii t-ishii @ sra.co.jp
2005年 6月 6日 (月) 12:05:42 JST


石井dす.

> 石井様
> 
> 杉です。
> お忙しいところ、度々で申し訳ないです。
> 改造版のpgbenchでの調査ですが、確認が出来次第となりますが
> ご連絡させて頂きます。
> ※現状、直ぐには調査できない状況になっており、ご連絡が遅くなるかと思いますので
>   申し訳ないのですが、宜しくお願い致します。

済みません.この改訂pgbenchですが,select for updateになっていなかった
ので,修正版をアップロードしました.

http://www2b.biglobe.ne.jp/~caco/pgpool/tmp/pgbench-20050606.tar.gz

ちなみに,修正版でも当方では現象は発生しませんでした.
--
Tatsuo Ishii

> > -----Original Message-----
> > From: pgsql-jp-bounces @ ml.postgresql.jp
> > [mailto:pgsql-jp-bounces @ ml.postgresql.jp]On Behalf Of Tatsuo Ishii
> > Sent: Sunday, June 05, 2005 6:35 PM
> > To: pgsql-jp @ ml.postgresql.jp
> > Subject: [pgsql-jp: 35459] Re: pgpoolのデッドロック、その後
> > 
> > 
> > 石井です.
> > 
> > ちょっといろいろあって応答が遅くなって済みません.
> > 
> > > 杉です。
> > > 
> > > 調査結果の報告が遅くなりましたが、確認結果をご連絡します。
> > > 
> > > デッドロックの件、その後調査しましたが結果は同じでした。
> > > ※確認バージョンはpgpool  2.5.1及びpgpool  2.5.2です。
> > > 
> > > テストの際、テストアプリとは別にpsqlでクエリを発行し確認をしたのです
> > が
> > > AUTOCOMMITの設定が'on'の場合、我々の期待しているような動作をしており
> > ました。
> > > ※ http://ml.postgresql.jp/pipermail/pgsql-jp/2005-May/018974.html> > 内容。
> > > 
> > > AUTOCOMMITの設定が'off'の場合、は両DBサーバへ問い合わせがいっており
> > (postgreSQLのログで確認)、
> > > 繰り返し処理を行うとデッドロックが発生しています。
> > > ご指摘の通り、selectの前に明示的に/*STRICT*/を付加しても状況は変わら
> > ずデッドロックは発生し、問題の
> > > 解決には至りませんでした。
> > > 
> > > 今回行いたい処理は、複数のトランザクション処理を実行し正常に終了した
> > 時にcommitを発行する処理なので、
> > > AUTOCOMMITは'off'での利用が前提となっています。(業務的な処理では一般
> > 的だと思われる。)
> > > この様な使い方でも、pgpoolの利用は可能なのでしょうか?
> > > 万一利用用途が違うのであれば(仕様も含め)と思い、メールさせて頂きまし
> > た。
> > > 
> > > 今回pgoolを利用しようとする最終的な目的は
> > >  フェイルオーバーの機能を利用し、DB1orDB2の何れかに障害が発生
> > しても運用をし続ける。(HA的な利用)
> > >  ※共有ディスク等のHWを用意せず、DBサーバ2台でフェイルオーバー
> > の機能を利用したい。
> > > です。
> > > 
> > > 是非、pgpoolを利用しシステムの構築を行いたいと思っております。
> > > 何かアドバイスがありましたら、お願いを致します。
> > 
> > こちらで再現実験を行うために,pgbenchに改造を加え,
> > 
> > begin;
> > /*STRICT*/select abalance from accounts where aid = 1;
> > end;
> > 
> > を実行するようにしてみました.その結果,
> > 
> > ./pgbench -C -p 9998 -t 1000 -c 32 test
> > ./pgbench -p 9998 -t 1000 -c 32 test
> > 
> > でも現象は再現しませんでした.何かもっと他の条件があるのかな?
> > # 以前pgpoolのデッドロックで御悩みの方も,shellスクリプトくらいでは再
> > # 現しなかったと言っていましたが...
> > 
> > よろしければ,そちらの環境で再現するかどうか,テストしていただけません
> > か?改造pgbenchは,
> > 
> > http://www2b.biglobe.ne.jp/~caco/pgpool/tmp/pgbench.tar.gz
> > 
> > にあります.
> > 
> > こちらの条件ですが,
> > 
> > PostgreSQL 8.0.3(pgpoolと2つのpostmasterは同じマシンで動作中)
> > pgpool current
> > strictモードで使用中.
> > 
> > となっています.
> > --
> > Tatsuo Ishii
> > 
> 



pgsql-jp メーリングリストの案内