[pgcluster: 1014] Re: 更新途中でスレーブがダウンした時の挙動について

At.Mitani mitani @ sraw.co.jp
2007年 11月 28日 (水) 17:46:50 JST


こんにちは。

ケーブルを抜いても15分くらいリトライし続けるのは
カーネルのデフォルトの仕様のようです。
(その間、アプリにはエラー通知も上がってきません)
OS(カーネル)によっては何かパラメータがあるかもしれません。

PQexecでクエリーを実行中の待ち時間がどれだけになるかは
クエリーによって異なりますので、これにはタイムアウトを付けていません。
ライフチェックでDBのエラー検知はしていますが、
これもPQexecで待ち状態になっているセッションには効きません。
(それ以外の新規のセッションはDBの異常を見ます)

(PQexecで30分くらい返ってこないクエリーもあり得るので)
これを解決するのは簡単ではありません。
ですが、不可能でもないので、次バージョンに取り入れてみたいと思います。

レポートありがとうございました。

三谷

On Wed, 28 Nov 2007 15:25:29 +0900
中野浩久@三協 <h-nakano @ kk-sankyo.com> wrote:

> 現在pgclusterを使用したレプリケーションのテストを行っています
> OS:centos3.9
> Postgres : 8.2.5
> pgcluster : 1.7.0rc7
> 
> ブラウザから連続してデータをインサートする途中に
> スレーブのケーブルを抜いてスレーブダウンの状況に
> すると16分弱応答が止まり、この間何処からアクセスしても
> 応答がなくなってしまう状況になっています
> 
> 応答が戻った後は片肺状態で残りのインサートの処理や
> 他からの接続等は正常に行えるのですが
> 16分間の間全くの無反応状態というのは実務での運用を考えると
> 長過ぎるように思います
> 
> ソースをたどったところlibpqのPQexec関数を呼び出したところで
> 症状が発生しているようで、この関数がタイムアウト設定なしで
> callされているためにこの症状が発生しているのかと思います
> (postgres の statement_timeout を短縮して設定してみましたが
> 症状は同じでした)
> 
> ネットを検索したところ以前同様の症状に関しての投稿があったようですが
> pgreplicator hangs on network failure (PQexec problem)
> http://osdir.com/ml/db.postgresql.pgcluster/2006-08/msg00147.html
> 
> 
> この症状に関する解決策はありますでしょうか?
> パッチ等はリリースされているのでしょうか?
> もしくは無応答時間を調節するパラメータはありますでしょうか?
> 
> お判りの方がおられましたらご教示ください
> よろしくお願いします
> 
> ##############################################
>   株式会社 三協 
>   システム開発室    中野浩久
>   〒574-0052    大東市新田北町4-21
>   Tel 072-889-7260    Fax 072-889-7270
>   E-mail: h-nakano @ kk-sankyo.com
> ############################################## 
> 


-- 
At.Mitani <mitani @ sraw.co.jp>



pgcluster メーリングリストの案内