[pgsql-jp: 35920] Re: pgpoolの縮退運転について

Tatsuo Ishii t-ishii @ sra.co.jp
2005年 8月 31日 (水) 22:50:48 JST


石井です.

> 永橋です。
> 
> バックエンドコネクションの生成においてサーバーダウンやスイッチ故障等により
> connectが失敗するケース(タイムアウト)に縮退運転へ移行するのは問題ないのですが
> タイムアウトとなるなまで時間がかかり(数分)縮退運転へスムーズに移行できない点が
> 問題と考えます。 (netstatではコネクションのステータスはSYN_SENTが継続)
> 
> そこでconnect_inet_domain_socket()でのソケットをNON_BLOCKとして
> タイムアウト処理を組み込んでみました。
> 
> テストでは問題なく動作しています。
> 
> 内容の確認をお願いします。
> 
> 2.6.3との差分は量が多いので別途石井さんへお送りします。

素朴な疑問ですが,ネットワーク障害でconnectが数分間ブロックするような
状況では,結局health checkに引っ掛かり,結局縮退するのではないでしょうか?
もちろん,health checkを向こうにしていたり,間隔が長ければ別ですが.

また,コネクションのタイムアウトを設定したとしても,コネクト後にネット
ワーク障害を起こし,パケットの送出でブロックしてしまうケースもあると思
います.

結局このような障害の検出はhealth checkにまかせるのがよいと思うのですが,
いかがでしょう?
--
Tatsuo Ishii



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