[pgcluster: 366] Re: WebLogicからのアクセス時にWARNINGが発生

mitani mitani @ sraw.co.jp
2004年 6月 16日 (水) 22:46:42 JST


三谷@広島です.

>  set auto commit off → クエリを実行 → commit
> という流れのようなので、
>  「no transaction in progress」
> というメッセージが出る理由が良く分からず途方にくれています。
レプリケーションサーバはcommitを受けるとトランザクションが終了だと認識し
てトランザクションブロックを閉じます.その後でcommitを受けると
> WARNING:  COMMIT: no transaction in progress
が出るようになってしまいます.
要するにレプリケーションサーバがset autocommit off には1回しか対応して
いないのが原因ですね.

> WebLogicが商用のJ2EEサーバと言うことで、検証が難しいかと思いますが、
> よろしくお願いいたします。
WebLogicのことを全く知らないので,お尋ねするのですが,set autocommit off
を止めることは出来ないのでしょうか.
というのは,autocommitがoffにされると,全てのクエリーをトランザクション
内のものとして扱わなければならないので,純粋な参照クエリーであってもレプ
リケーションしてしまいます.
つまり,autocommitがoffですと,負荷分散ができません.
トランザクションブロックはbegin - commitで明示的に括るようにされることを
お薦めします.

> DEBUG(PGRread_packet): connection closed
> ERROR(PGRread_packet): session closed
> DEBUG(child_wait): replicate main: selected
> 
> というようにコネクションを閉じた後に
> セッションを閉じるエラーが発生するのですが、
> これはエラーレベルの記述ミスでしょうか?
確認してみます.

=============================
三谷 篤<mitani @ sraw.co.jp>
=============================





pgcluster メーリングリストの案内