[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 メーリングリストの案内