問題の概要:geopg のマニュアルページでは、timeout プロパティーの目的について十分説明されていません。
対処方法:timeout 間隔は、geopg コマンド (start、stop、switchover、takeover など) が実行されたあと Sun Cluster Geographic Edition が応答を待機する最大の時間です。timeout 間隔の間にコマンドが応答しないと、最終的に実行される対象コマンドが正常に完了した場合でも、Sun Cluster Geographic Edition は処理がタイムアウトしたと報告します。
timeout 間隔は、クラスタごとに処理に適用されます。ローカルスコープを持つ処理が指定された timeout 間隔を過ぎても完了しない場合、この処理はタイムアウトします。
グローバルスコープを持つ処理は、ローカルクラスタに対するアクションとリモートクラスタに対するアクションから構成されます。ローカルアクションとリモートアクションのタイムアウトは別々に計時されます。このため、指定された timeout 間隔を過ぎてもローカル処理が完了しないか、指定された timeout 間隔を過ぎてもリモート処理が完了しない場合、グローバルスコープを持つ処理はタイムアウトします。
たとえば、次の処理はローカルスコープ指定で開始されます。
# geopg start -e Local |
timeout プロパティーを 200 秒に設定すると、200 秒を過ぎても geopg start 処理が完了しないとこの処理はタイムアウトします。
この処理をグローバルスコープ指定で開始する場合は次のように入力します。
# geopg start -e Global |
timeout プロパティーを 200 秒に設定すると、200 秒を過ぎてもローカルクラスタ上で処理が完了しないか、あるいは 200 秒を過ぎてもリモートクラスタ上で処理が完了しない場合、geopg start はタイムアウトします。ローカルアクションに 150 秒かかり、リモートアクションに 150 秒かかる場合、処理はタイムアウトしません。
保護グループの timeout 値は概算されます。保護グループに対するすべての処理が timeout 間隔に照らして計時されるわけではありません。たとえば、データ構造を初期化して処理の前提条件が満たされているか確認するためにかかる時間は、timeout 間隔内の時間として計算されません。