Pgpool-II 4.5.5 文書 | |||
---|---|---|---|
前のページ | 上に戻る | 付録 A. リリースノート | 次のページ |
リリース日: 2024-08-15
サンプルスクリプトでinitdb -Vの代わりにpsql -Vを使用するように修正しました。 (Bo Peng)
postgresqlxx-serverがインストールされていない可能性があるため、サンプルスクリプトでinitdb -Vの代わりにpsql -Vを使用するように修正しました。
フラッシュメッセージを受信した後にハングする問題を修正しました。 (#59) (Tatsuo Ishii)
セグメンテーション違反を修正しました。 (Tatsuo Ishii)
Pgpool-IIの子プロセスがpool_do_authでセグメント違反になることがありました。 原因はMAIN_CONNECTION()がNULLを返すことでした。 my_main_node_idが不正なノードID 0に設定されていたようですが、これは実際にはダウン状態でした。 そのため、cp->slots[0]には接続がありませんでした。
この問題はEmond Papegaaijによって報告されました。 Discussion: [pgpool-general: 9175]
MAIN_NODEマクロを使用しないようにセグメンテーション違反を修正しました。 (Tatsuo Ishii)
一部の関数 (close_idle_connection()、new_connection()、pool_create_cp())では、MAIN*とVALID_BACKENDが不適切な場所で使用されていました。 MAIN*とVALID_BACKENDは、バックエンドへの現在の接続に対してのみ有効であり、プールされた接続には有効ではありません。 プールされた接続では、どのバックエンドがメインノードであるか、または稼働中であるかは、バックエンドへの現在の接続と必ず同じであるためです。 これらのマクロを誤って使用すると、セグメンテーション違反が発生することがありました。
この問題はEmond Papegaaij によって報告されました。 Discussion: [pgpool-general: 9114]
MAIN_NODEマクロ(実際は pool_virtual_main_db_node_id())を修正しました。 (Tatsuo Ishii)
セッションコンテキストがない場合、マクロはREAL_MAIN_NODE_IDに使用されます。 フェイルオーバー/フェイルバックが発生すると、いつでもREAL_MAIN_NODE_IDが変更される可能性があるため、これは誤りでした。
REAL_MAIN_NODE_ID == my_main_node_id == 1と仮定します。 その後、フェイルバックにより、REAL_MAIN_NODE_IDは0に変更されます。 その後、MAIN_CONNECTION(cp)はNULLを返し、これへの参照はセグメンテーションエラーを引き起こします。 この問題を回避するには、代わりにmy_main_node_idを返すように修正しました。
子プロセスでのセグメンテーション違反を修正しました。 (Tatsuo Ishii)
Discussion: [pgpool-general: 9104]
ネットワークが短時間中断されると、Watchdogが停止し、Pgpool-IIが強制終了する問題を修正しました。 (#823) (Muhammad Usama)
ネットワーク監視を有効にすると、Pgpool-IIノードはすべてのネットワークインターフェイスまたは割り当てられたIPアドレスを失った場合に直ちにシャットダウンし、通信できないノードをクラスタからすばやく削除することで追加の保護を提供します。
問題は、ネットワーク監視が無効になっている場合でも、Pgpool-IIがネットワークブラックアウトイベントに応答していたことです。 この修正により、ネットワーク監視が有効になっていない場合にネットワーク監視ソケットがオープンされなくなり、不要なシャットダウンが防止されます。
psql_scanのクラッシュを修正しました。 (#54) (Tatsuo Ishii)
長いクエリ内の文字列がpsql変数(つまり「:」で始まる)であるかどうかを判別しているときに、psql_scanがクラッシュする問題がありました。
ドキュメントとプログラムソースコードの大量なタイポミスを修正しました。(Tatsuo Ishii)
パッチはUmar Hayatによって作成されました。
仮想IP関連パラメータのデフォルト値をドキュメントに追加しました。(Bo Peng)