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