[pgsql-jp: 39270] pgpool II timeout について

skond66 @ mail.goo.ne.jp skond66 @ mail.goo.ne.jp
2008年 2月 28日 (木) 12:08:26 JST


pgpool-II 2.0.1 (テスト環境にて検証中)と pgpool-II 1.0.2(本番環境)を使用させて
頂いております。2.0.1の環境でphpやpsqlから、pgpoolを介して reindex database *** といった
数分掛かる処理を行いますと、約60秒後に

server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
The connection to the server was lost. Attempting reset: Succeeded

という表示で接続が切れてしまいます。また、DBサーバ側には

could not send data to client:
少しあとに
unexpected EOF on client connection

といったログが記録されます。1.0.2の環境では発生しておりません。
ログはレプリケーションしている2台のサーバともに記録され、どちらも
REINDEXは全テーブルに対して実行されています。


timeout系のパラメータは以下のようにしております。authentication_timeout以外は
2.0.1と1.0.2 で同じ設定です。

replication_strict = true 1.0.2のみ

pcp_timeout = 100
child_life_time = 1200
connection_life_time = 1200
authentication_timeout = 60 これだけ 1.0.2にはありません。
health_check_timeout = 20
replication_timeout = 5000

なお、replication_timeout = 5000 を 50000 に変更すると、数分の処理では上記の切断は
発生しませんでした。また、2000 にすると、40秒程度で上記の切断が発生、1000では5秒
程度で切断が発生しました。指定したミリ秒との違いが大きいのと、バージョン間でデフォルトの
挙動が異なること、デフォルトの5000ミリ秒ですと、バキュームなどで同じ現象が出る方が
多いのではと思い投稿させて頂きました。

ひとまずreplication_timeout = 2000000 と大きな値を指定して検証を続行しております。




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