[pgpool-general-jp: 573] Re: 縮退運転時の挙動について
SHIROUZU Hiroaki
shirouzu @ ipmsg.org
2009年 7月 6日 (月) 11:45:06 JST
お世話になっております。
白水です。
回答ありがとうございます。
Tatsuo Ishii wrote [2009/07/06 9:23]:
> 当時は確かにそうでしたが、現在のpgpool-IIでは、縮退を起したときには、
> 生きている方のDB へのトランザクションもアボートされるため、CGI側で常に
> リトライするでほとんどの場合問題ないと思います。
なるほど。
確かに、先週実験した時には、commit 直前に secondary を
SIGSTOPし、commit開始後に secondary を SIGKILL するよう
なパターンでしか、再現できませんでした。
> 唯一問題になるのは、あるノードでコミットに成功したが、別のノードで失敗
> した場合。こういうことはめったに起きないと思いますが、もし起きてしまう
> と、すでにコミットしたデータは取り消せないので、リトライすると不都合が
> 起ることもあると思います。
>
> こういったケースの場合、CGI側でリトライの可否が判断できるように、特定
> のエラーメッセージをpgpool-IIがクライアント側に返すようにすることはで
> きると思います。そうした方が良いですか?
その形にしていただけると、とても助かります。
よろしくお願いします。
P.S
ちなみに、理想を言わせていただければ(^^;、縮退が成功して
動作継続できた場合は(ちょうど RAIDの縮退と同じように)、
通常のDB操作では正常動作しているように見せて、syslog や
別コマンド等にて異常が確認できるモードがあると良いのでは
と思います。ただ、実現となると、いろいろ大変だと思います
ので、単なる希望として聞き流していただければと思います。
--
SHIROUZU Hiroaki
http://www.ipmsg.org/private/
pgpool-general-jp メーリングリストの案内