[pgcluster: 431] Re: リカバリー時のエラーに関して

mitani mitani @ sraw.co.jp
2004年 7月 30日 (金) 09:34:20 JST


三谷@広島です.

> 現在は、DBのリカバリ検証をしています.
> リカバリー中にマスタDBへのトランザクションを発行しない場合は正常に動作しているのですが、
> リカバリ中にマスターDBへinsert文を発行すると、エラーで終了してします.
リカバリ中にマスタDBに対してデータ更新を許可してしまうと,リカバリが何時
まで経っても終了することが出来なくなりますので,
「リカバリ中はマスタや追加DBにはアクセスしないでください」

ロードバランサを使っていれば(クラスタDBが3台以上あれば),リカバリ中も
データ更新は可能です.これは,ロードバランサでマスタDBを接続対象から外し,
他のクラスタDBに接続して(更新要求などを)処理しているためです.
リカバリ中に受けたクエリーは,レプリケーションサーバで保存されます.
レプリケーションサーバはリカバリの第2フェーズ終了後に,保存しているクエ
リーを,受けた順番通りにマスタDBと追加DBに投げて実行します.
これらが全部終わると,リカバリは終了となります.

クエリーを貯め始めるタイミングとか,リカバリの中断処理とか,rsyncの失敗
時の処理など,細かいことは...いずれどこかで書きたいと思います.

#ちょっとメールでは説明できる自信がありません.

そうそう,現在はクエリーはメッセージキューに貯めていますが,オーバーフロー
する可能性がありますので,ファイルに変更する予定です.

=============================
STATUS:Lock回避プロトコル改造中
三谷 篤<mitani @ sraw.co.jp>
=============================





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