[pgpool-general-jp: 537] Re: pgpool-II オンラインリカバリの挙動について

Akira HEIMA heimaa @ alpha.co.jp
2009年 2月 5日 (木) 15:39:06 JST


石井様

平馬です。お世話になっております。

> 本来finish_recovery()は,4が完了するのを待ち合わせするはずなのですが,
> その待ち合わせに使っている共有メモリ上の変数"pcp_wakeup_request"の初期
> 化が行なわれていないために,待ち合わせが実際には行なわれていませんでし
> た.修正は簡単で,start_recovery()の中で,
> 
> 	send_failback_request(recovery_node);
> 
> の前に
> 
> 	pcp_wakeup_request = 0;
> 
> を追加するだけです.この修正を入れたrecovery.cと,他にコメント修正を入
> れたソースなどをコミットしておきました.

pcp_wait_requestの初期化を加えてmakeしたものに置き換えた所、リカバリが
完了した後に接続のブロックが解除されるようになったことを確認致しました。

---- pgpool-II側ログ(抜粋) ----
2009-02-05 11:49:34 LOG:   pid 2056: 1 node restarted
2009-02-05 11:49:34 LOG:   pid 2056: send_failback_request: fail back 1 th node request from pid 2056
2009-02-05 11:49:34 LOG:   pid 2022: starting fail back. reconnect host localhost(5434)
2009-02-05 11:49:34 LOG:   pid 2022: failover_handler: set new master node: 0
2009-02-05 11:49:34 LOG:   pid 2022: failback done. reconnect host localhost(5434)
2009-02-05 11:49:34 LOG:   pid 2056: recovery done
2009-02-05 11:49:34 LOG:   pid 3091: connection received: host=127.0.0.1 port=48598
2009-02-05 11:49:34 LOG:   pid 3097: connection received: host=127.0.0.1 port=48600
---- pgpool-II側ログ(抜粋) ----


テスト後、2.2 beta1以降に更新されたファイルの内容を軽く確認していた所、
pgpool-ja.htmlに誤植らしき点を見つけたため、こちらも報告させて頂きます。

 誤(?):アイドル状態のクライアントが接続自分から接続するのを
 正(?):アイドル状態のクライアントが自分から切断するのを
 (1箇所)

 誤:pcp_recovery_pgpool
 正:pcp_recovery_node
 (2箇所)


お忙しい中、早速のご対応ありがとうございました。


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