[pgsql-jp: 35430] Re: pgpoolのデッドロック

Tatsuo Ishii t-ishii @ sra.co.jp
2005年 5月 27日 (金) 11:41:32 JST


石井です,

> 杉です。
> 
> 本当に何度もすいません。

こちらこそ御付気合い頂き,ありがとうございます.

> > >  【JSP内で発行するクエリ】(AUTOCOMMITは'off'にしています。)
> > >   SELECT * FROM T_ TEST_TBL WHERE DAT_ID=10001 FOR UPDATE
> > >   commit
> >
> > autocommitという設定はないので,実際には
> >
> > BEGIN;
> > SELECT * FROM T_ TEST_TBL WHERE DAT_ID=10001 FOR UPDATE;
> > COMMIT;
> >
> > というコマンドをJSPの各スレッドが繰り返し発行しているということでいい
> > でしょうか?説明が足りなくてすいません。
> JSP内でコネクションを取得し、コネクションのメソッドで
> AUTOCOMMITをオフにしています。
> postgreSQLの出力するログを確認したところ、上記の様に処理されている
> 事を確認しました。
> 
> 
> > > master側及びslave側でのロック状況も確認しましたが、繰り返している内に先
> にslave側が
> > > 先にロックをかけているようです。(クエリの前に/*シリアル番号*/を入れて確
> 認しました。)
> >
> > は,具体的にどうやって確認したのでしょうか?
> master側及びslave側のログを確認し、それぞれが発行しているクエリ(selectの前に
> コメントで番号を付加)
> の順を確認しました。
> 例えば、両サーバとも1番〜92番まで順に処理されているのですが、master側は次
> の93番を実行し、何故か
> slave側は先に94番の処理を実行しています。

これは,PostgreSQLのログで確認された,ということでよろしいでしょうか?

> その状態で、master側及びslave側それぞれにpsqlで接続しロック状況の確認と各プ
> ロセスの状況をチェックしました。
> 
> 以上、お願いします。
--
Tatsuo Ishii



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