[pgsql-jp: 34209] Re: pgpool 2.2.1 released(was Re: pgpool のリードエラーについて)

Kenichirou Kimura (木村健一郎) kimura @ project-com.com
2004年 10月 29日 (金) 11:18:30 JST


木村です。

さっそく昨日2.2.1をダウンロードして、インストールしました。
FreeBSD-4-STABLEとRedHat AS3で一晩動かしてみましたが、現状問題ないよう
です。
実はこれまで2.2で動かしていたときに、日に数度PostgreSQL側のログに

 pq_recvbuf: unexpected EOF on client connection

が出てたものを実害がなさそうなので放置してたのですが、これも今のところ
出なくなっていました。しばらく見てみないと何とも言えませんが、おそらく
今回の修正でうまくいったのではないかと。

#おそらく上記エラーが出たときにクライアントプログラム側でも実はデータ
#をうまく取得できてなかったのかもしれませんが、今となっては確認ができ
#ません。役に立たない報告で申し訳ないです ^^;

ちなみに便乗で質問なんですが、今回稼働しているシステムでpgpoolのバージョ
ンアップをする際に以下の手順で行いました。

1. 新しいバージョン(2.2.1)のインストール
2. %pgpool stop(動いている旧バージョンの停止)
3. %pgpool(新しいバージョンの起動)

旧バージョンを停めたとき(2.)、上記の「unexpected EOF」が沢山出てました。
これまでコネクションを持ってたpgpoolがいなくなるんだから..とも思いまし
たが、これでデータが壊れる事はないでしょうか。(特にマスターとセカンダ
リーで不整合が起こらないかを心配してます)。今のところデータは大丈夫っ
ぽいのですが。

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
木村健一郎

At Thu, 28 Oct 2004 13:14:26 +0900 (JST),
Tatsuo Ishii wrote:
> 
> 石井です.
> 
> おかげさまで金戸さまのご協力を得て問題を修正することができました.原因
> は2.2で入れた改良によるエンバグでした.このバグ修正などを入れ込んだ
> 2.2.1をリリースしました.いつものように,
> 
> http://www2b.biglobe.ne.jp/~caco/pgpool/
> 
> から入手できます.金戸さま以外にも,木村さまにも指摘していただいた内容
> を反映させています.
> 
> 以下,READMEより.
> 
>       バックエンド1台のコネクションプールモードにおいて,バックエンド
>       が再起動したときにpgpoolがそのことを検出できず,個々のコネクショ
>       ンにおける最初の問い合わせでエラーになってしまう問題を回避するた
>       めに,あるコネクションでエラーを検出したら,pgpoolの子プロセスを
>       再起動するようにした.
> 
>       [pgsql-jp: 34117]でのバグ指摘対応.select()に渡すタイムアウトパ
>       ラメータの設定ミス.
> 
>       [pgsql-jp: 34157]でのバグ指摘対応.原因は2.2での<[pgsql-jp:
>       34005]でのバグ指摘対応>によるエンバグ.MASTERとSECONDARYの同期を
>       取るために無条件にSECONDARYからのデータの到着をselect()で待って
>       いるのは間違い.readバッファにデータが残っているかどうか先にチェッ
>       クすべきだった.2.1以前は無条件にpool_read()していたのでOKだった.
> 
>       [pgsql-jp: 34161]バグ指摘対応.select()に渡すタイムアウトパ
>       ラメータはselect()からreturn後,クリアされるのを忘れていた.
> 
>       pgpool.conf.sampleの中のコメントの間違いを修正
> --
> Tatsuo Ishii



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