[pgsql-jp: 34406] Re: pgpool 2.3.1 で縮退運転に失敗します
Tatsuo Ishii
t-ishii @ sra.co.jp
2004年 12月 6日 (月) 20:11:19 JST
石井です.
いろいろ回り道しましたが,どうも見当ハズレなところを修正していたようで
す.v2.3で,
> pgpool {[-m {s[mart]|f[ast]|i[mmediate]}] stop]を実装.フロント
> エンドの接続終了を待って安全に停止できるようになった.
となった結果,単に子プロセスにSIGTERMを送っても,セッションが生きてい
る間は子プロセスが終了してくれないのがdegenerationしてくれない原因のよ
うな気がしてきました.何度も申し訳ないのですが,この問題を修正した
http://www2b.biglobe.ne.jp/~caco/tmp/pgpool-2.3.1.tar.gz
を試してみていただけないでしょうか?
--
Tatsuo Ishii
> はじめまして、石川と申します。
>
> 現在pgpool とPostgreSQL のMaster, Secondaryをそれぞれ別のサーバに準備してテ
> ストを行っています。
> レプリケーション機能は問題ないのですが、縮退運転でエラーが起きてしまいます。
>
> ┌───┐
> │pgpool│
> └───┘
> │
> │──────┐
> │ │
> ┌────┐ ┌──────┐
> │postgres│ │ postgres │
> │(master)│ │(secondary) │
> └────┘ └──────┘
>
> ホストのOS は全てSolaris 8(Sparc) です。
>
> 調べてみたところ、Master あるいはSecondary のpostmaster を停止した際に、
> pgpool からpostmaster に張られたコネクションが残った状態でデータベースへアク
> セスすると、
> pgpool が縮退運転に入らずエラーとなりました。
>
> コネクションの有無に関係あるかと考えて、
> コネクションがない状態を作るために、
> あらためてpgpoolおよびpostmaster(master)のみ起動して試しました。
> その結果、データベースへアクセスすると縮退運転に入りました。
>
>
> postmaster を停止した時にpgpool サーバでnetstat -n をかけた結果です。
> このときにデータベースにアクセスすると縮退運転に入りません。
> 見ていると、CLOSE_WAITの状態が長く続きました。
>
> TCP: IPv4
> Local Address Remote Address Swind Send-Q Rwind Recv-Q State
> -------------------- -------------------- ----- ------ ----- ------ -------
> 192.168.0.2.32804 192.168.0.3.5432 65664 0 67032 0
> ESTABLISHED
> 192.168.0.2.32805 192.168.0.4.5432 65664 0 67032 0
> CLOSE_WAIT
>
>
> 試しに同一サーバにpgpool とPostgreSQL のMaster, Secondaryを準備してテストし
> たところ、
> レプリケーション、縮退運転ともに問題なく動きました。
>
> コネクションの有無に注目しましたが、このほかに確認すべき事柄はありますか?
>
pgsql-jp メーリングリストの案内