[pgsql-jp: 33892] Re: pgpool のエラー(pool_read: EOF encountered)

mitani mitani @ sraw.co.jp
2004年 8月 19日 (木) 09:50:15 JST


三谷@広島です.

> 以下のようなエラーが発生し、pgpoolが止まってしまう事があります。
> ERROR: pid 17764: pool_read: EOF encountered
> ERROR: pid 17764: ProcessFrontendResponse: failed to read kind
> あるいは、
> ERROR: pid 14363: pool_read: read failed (Connection reset by peer)
> ERROR: pid 14363: ProcessFrontendResponse: failed to read kind
> または、
> ERROR: pid 18550: pool_read: EOF encountered
> ERROR: pid 18550: ProcessFrontendResponse: failed to read kind
> ERROR: pid 18550: pool_flush: fflush failed (Broken pipe)
これらはいずれも,フロントエンド(この場合はphpのアプリですね)が,通常
の終了処理を行わずに突然セッションを切ってしまっているために発生するエラー
メッセージだと思います.

> 過負荷状態においてpgpoolが上記のエラー
> を出力する事に気が付きました。
pgpoolがこれらのエラーを吐いている時にアプリ側のプロセスがどうなっている
かを確認された方が良いかもしれません.

> エラーが発生した後は、一切pgpoolに
> よる接続が出来なくなります。
手元の環境でpgpoolを起動し,psqlで接続したフロントエンドをkillで叩き切っ
てみましたが,再接続は問題なく出来ました.
接続数を1にしても同様ですので,フロントエンドを叩き切ったくらいでは再現
しないのかもしれません.

pgpool に-ndオプションをつけて,デバッグ文を吐かせてみてはどうでしょうか.

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





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