[pgsql-jp: 34009] Re: pgpoolのmaster データベース停止時の動作について( pgpool-2.0.9)

Yoichi ISOZAKI iso @ mindgame.net
2004年 9月 20日 (月) 15:33:40 JST


磯崎です。

On Mon, 20 Sep 2004 09:13:15 +0900 (JST)
Tatsuo Ishii <t-ishii @ sra.co.jp> wrote:

> 石井です.

〜省略〜

> > ----------------------------------------------------------------------
> > ERROR: pid 7259: pool_check_fd: data is not ready tp->tv_sec 0 tp->tp_usec 0
> > ERROR: pid 7259: pool_process_query: secondary data is not ready at syncronous point. abort this session
> > ERROR: pid 7259: pool_process_query: kind does not match between backends master(E) secondary(LOG: pid 7259: do_child: exits with status 1 due to error
> > DEBUG: pid 7227: child 7259 exits with signal 0
> > DEBUG: pid 7315: I am 7315
> > ----------------------------------------------------------------------
> > 動作には一応問題ないようですが、一部のデバッグメッセージが
> > 崩れてしまっているようです。
> 
> あ,そうですか.こちらの環境(Vine Linux 2.6r4)では,
> 
> ERROR: pid 23180: pool_process_query: kind does not match between backends master(N) secondary()
> LOG: pid 23180: do_child: exits with status 1 due to error
> 
> となり,特に問題ないようです.もしかしたらglibcのバージョンの違いによ
> るものかもしれませんね(こちらはglibc-2.2.4).エラーメッセージの出力に
> はvfprintfを使っており,該当個所は,
> 
> pool_process_query: kind does not match between backends master(%c)secondary(%c)",
> 
> のようになっていて,2番目の%cに\0が渡されているケースですが,もしかし
> て Red Hat Enterprise Linux 3.0 ES のvfprintfはフォーマットの"%c"に\0
> を渡すと不都合が起きるのでしょうか?

pool_error関数を抜き出したサンプルプログラムで試してみましたが、
Red Hat Enterprise Linux 3.0 ESのglibc 2.3.2-95.27では、
%cに\0を使用すると、そこで文字列が終わりと判断されてしまうようです。


> --
> Tatsuo Ishii

Yo[u]ichi ISOZAKI
E-Mail:iso @ mindgame.net




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