[pgsql-jp: 41659] Re: pgpoolの縮退運転について

Tatsuo Ishii ishii @ sraoss.co.jp
2014年 5月 25日 (日) 01:07:31 JST


岩田様

> 石井様、岩田です。
> 
> お返事ありがとうございます。

どういたしまして。

> なるほど。2.3には"failover_if_affected_tuples_mismatch"の設定がないので
> すが、やはり内部では falseの動きとなっているのですね。

その通りです。

>>> であれば、切り離しされないと思いますが、そこはreplication_stop_on_mismatch=trueが効いているのでしょうか?
>> はい、これも推察のとおりだと思います。
> 
> でしたら、今回のケースでは、「replication_stop_on_mismatch=false」であっ
> たならば、ABORTはするが、 切り離しはされなかったと考えれますか?

はい、そうなると思います。

>> おそらく切り離し自体は、UPDATE結果行数の相違という現象とはまた別の、
>> replication_stop_on_mismatchに引っかかるような現象によって起こったのだ
>> と思います。pgpool-IIのログがないので、それが何だったのかはわかりません。
> 
> ABORTと切り離しが二段階で評価されているのならば合点いきます。
> しかし、結果行数が違ってABORTした上で切り離しまでする運用を良しとするか
> は検討の必要がありますね。。それよりも、普通に運用していると きに、
> UPDATE文の実行に失敗するケースはなんだろうと考えてしまいます。

oidやrandom()等、バックエンド固有の状態に依存するクエリが含まれていませ
んか?(該当のUPDATEだけでなく、以前実行されたINSERTも含めて)

> 結局、切り離しの原因は結果行数が異なることに起因してそうなので、まずは詳
> 細を得るためにpgpool-IIのログを取ることが肝要ですね。

はい、それがよろしいかと思います。
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


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