[pgsql-jp: 37862] Re: kind mismatch between backends
Tatsuo Ishii
ishii @ sraoss.co.jp
2006年 12月 26日 (火) 13:35:56 JST
石井です.
> 石田です。嘘でした。
>
> 06/12/26 に ISHIDA Akio<iakio @ mono-space.net> さんは書きました:
> > それよりちょっと気になったのは、
> > replication_timeout = 5000
> > で、
> >
> > 2006-12-22 08:39:02 ERROR: pid 22580: pool_check_fd: data is not ready
> > tp->tv_sec 5 tp->tp_usec 5000000
> >
> > という、tp->tp_usecの値がおかしいのですが、
> > これはnotimeoutが渡されてtimeoutが初期化されていなかった
> > ということでしょうかね。
> >
> > だとしたら、タイムアウトがNULLでselectが0を返すことって
> > あるんでしょうか。
>
> selectがtimeoutの値を更新するんですね。
はい.
> だとしたらこの時点でnotimeoutは0だったということですね。
すみません.このあたりエラーメッセージが混乱してまして,
pool_error("pool_check_fd: data is not ready tp->tv_sec %d tp->tp_usec %d",
pool_config.replication_timeout / 1000,
(pool_config.replication_timeout - (timeout.tv_sec * 1000))*1000);
のような何をしたいのかわからない意味不明なコードになっていました.タイ
ムアウトした時点でおそらくtimeout構造体の中身はtv_sec, tv_usecともに0
となり,上記の間違った計算から,
tp->tv_sec 5 tp->tp_usec 5000000
と表示されてしまっただけだと思われます.
# 今度直しておきます.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
pgsql-jp メーリングリストの案内