[pgcluster: 870] Re: テーブルの登録等でリクエストが重複

a.mitani @ sra-europe.com a.mitani @ sra-europe.com
2006年 4月 5日 (水) 18:44:20 JST


柳田さん,こんにちは.

頂いた情報から推察したしますと,
設定ファイルに登録されているホスト名と/etc/hostsで取得されるホスト名が違うの
が原因のように思います.


> # A setup of Cluster DB(s)
> <Cluster_Server_Info>
>     <Host_Name>   happy118  </Host_Name>
                    ~~~~~~~~

<snip>
> 【再現中のレプリケーションデバッグ】----------------------------------------
> ---------
> DEBUG:PGRdo_replicate():query :: CREATE DATABASE "hogedb" WITH ENCODING =
> 'EUC_JP'
> DEBUG:cmdSts=Q
> DEBUG:cmdType=O
> DEBUG:port=5432
> DEBUG:pid=30545
> DEBUG:from_host=happy118.localdomain
                  ~~~~~~~~~~~~~~~~~~~~

上記のように,設定ファイルには"happy118"と登録されていますが,実際に/etc/hos
tsから取得されたホスト名は"happy118.localdomain"となっているようです.

そのため,レプリケーションサーバが,クエリーを受け取ったクラスタDBの判別をつ
けることができず,クエリーを再度送ってしまい,そのクエリーを更にレプリケーショ
ンサーバに送るということが発生しているのではないかと思います.

新しいバージョンではホスト名ではなく,IPアドレスで比較していますので,こうい
う問題は発生しないと思います.

・設定ファイルに登録するホスト名は/etc/hostsファイルと同じにする.
・PGClusterを最新バージョンにする.
(最新版はpgFoundry
http://pgfoundry.org/projects/pgcluster/
からダウンロードできます)

この2点で解決すると思います.
お試しください.

------------------------
三谷@オランダ




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