[pgpool-general-jp: 1353] pgpool-II 3.4.1, 3.3.5, 3.2.10, 3.1.13, and 3.0, 17 released
Yugo Nagata
nagata @ sraoss.co.jp
2015年 2月 5日 (木) 20:32:59 JST
長田です。
pgpool-II 3.4.1, 3.3.5, 3.2.10, 3.1.13, 3.0,17 をリリースしましたので
お知らせいたします。
以下からダウンロードすることができます。
http://pgpool.net/mediawiki/index.php/Downloads
===============================================================================
3.4.1 (tataraboshi) 2015/02/05
* 概要
このバージョンは 3.4.0 に対するバグ修正リリースです。
__________________________________________________________________
* バグ修正
- RPM: memcached に対応しました。(Tatsuo Ishii)
- pgpool_recovery 関数の引数を 3 から 4 に修正しました。(Tatsuo Ishii)
これは本来 3.4.0 リリース時に修正されるべきものでした。
- test: pgpool_setup で使用する設定ファイルのディレクトリを環境変数
PGPOOLDIR で指定できるようになりました。(Tatsuo Ishii)
- RPM: RPM ファイル名を変更しました。(Yugo Nagata)
新しいファイル名は PostgreSQL の公式 RPM ファイルのように RHEL の
バージョン番号を含みます。(例. pgpool-II-pg93-3.4.0-2pgdg.rhel6.x86_64.rpm)
- trigger_failover_command() 関数のノード ID 範囲検査のバグを修正しました。
(Tatsuo Ishii)
ノード ID は定数 NUM_BACKENDS 未満である必要があります。実際には
NUM_BACKENDS 以上の値はこの関数に渡されていなかったので、おそらく
害はありませんでした。
- NOTIFY メッセージがバックエンドから送信された時に起こりうるスタック
が修正されました。(Muhammad Usama)
これはマスタースレーブモードで、ロードバランスが有効であり、クライアントが
拡張クエリを使用しているときに発生する可能性がありました。
bug #116 の報告によります。
http://www.pgpool.net/mantisbt/view.php?id=116
- test:pgpool_setup の failover スクリプトがデータベースクラスタの絶対
パスを使用するように修正しました。(Tatsuo Ishii)
- test: pgpool_setup で使われるポート番号の割り当て方を変更しました。
(Tatsuo Ishii)
ベースとなる番号(デフォルト 11000)を pgpool-II のポートに、ベース + 1
を pcp のポートに、ベース + 2 以降を PostgreSQL のポートに割り当てる
ようになりました。
- pgpool-II 3.4 でクエリをキャンセルできないバグを修正しました。
(Muhammad Usama)
- test: クエリキャンセルのレグレッションテストを追加しました。
(Muhammad Usama)
- スレッド安全ではない API をスレッド関数で使用しないよう修正しました。
(Muhammad Usama)
pgpool-II は PostgreSQL のメモリと例外の管理機能を流用していますが、
これらはスレッドセーフではありません。修正前は、これらのグローバル
変数を扱う API がスレッドの関数の中で使用されており、未定義の動作や
セグメンテーションフォルトの原因となっていました。特に、親プロセスが
突然異常終了することがありました。
- test: メモリリークのレグレッションテストを追加しました。(Tatsuo Ishii)
- 長期間のコネクションがあるときのメモリリークが修正されました。
(Muhammad Usama)
この問題は [pgpool-general: 3325] で報告されました。
- "Frontend Terminated" メッセージのログレベルを LOG から DEBUG1
に変更しました。(Muhammad Usama)
- exec_ifconfig() 関数での SIGCHLD ハンドリングの不具合をを修正しました。
(Tatsuo Ishii)
何らかの理由により、SIGCHLD は SIG_IGN にセットされているにもかからず
子プロセスの終了状態を取得しようとしていました。SIGCHLD は無視されるため、
これは常に失敗します。このため watchdog の pgpool-II 切り替わり時に
"ifconfig up" が失敗とみなされていました。
詳しくは "[pgpool-general: 3310] をご参照ください。
- if_up_cmd, if_down_cmd でアドレスプレフィックス付きの $_IP_$ を
使用できるように修正しました。(Muhammad Usama)
以前は "$_IP_$" の直後には空白が来ることが前提となっていたため、
アドレスプレフィックスがある場合(例:$_IP_$/24 )、このプレフィックス
は無視されていました。
bug #122 の報告によります。
http://www.pgpool.net/mantisbt/view.php?id=122
- シグナルを init プロセスに送信しないよう修正しました。
(Muhammad Usama)
これは、pgpool-II の親プロセスがクラッシュし、子プロセスがシステムの
init プロセスにシグナルを送信可能になってしまうような状況に備えた対応です。
bug #119 の報告によります。
http://www.pgpool.net/mantisbt/view.php?id=119
- RPM: PostgreSQL 9.4 向けの RPM 作成時に発生していたエラー
"error: Installed ("error: Installed (but unpackaged) file(s) found"
を修正しました。(Tatsuo Ishii)
- show pool_nodes が 2 桁以上のノード ID を表示できるように修正しました。
(Muhammad Usama)
この問題は [pgpool-general: 3374] で報告されました。
- 古いクライアントでアプリケーション名の指定がなかった場合に、メッセージ
"WARNING: failed to execute regex matching, pattern is NULL" が出力
されていたのを修正しました。(Tatsuo Ishii)
- 起動時に子プロセスの立ち上げに失敗した場合には pgpool-II 全体で起動失敗
とするように修正しました。(Muhammad Usama)
[pgpool-general: 3358] での報告によります。
- 子プロセスでエラーが発生したときに起こりうるセグメンテーションフォルト
を修正しました。(Muhammad Usama)
この問題は [pgpool-general: 3377] で報告されました。
- レグレッションテスト '004.watchdog' が失敗する場合があるのを修正しました。
(Yugo Nagata)
パッチは uehara によって bug #127 で提供されました。
http://www.pgpool.net/mantisbt/view.php?id=127
- クライアント接続の閉じ忘れを修正しました。(Tatsuo Ishii)
pgpool-II 3.4.0 よりセッション終了時にクライアントへの接続が閉じられて
いませんでした。これにより "CLOSE_WAIT" が大量に滞留し、pgpool-II
はクライアントからの新規の接続を受け付けられなくなります。
この問題は Pablo Sanchez により [pgpool-general: 3394] で報告されました。
- if_up_cmd, if_down_cmd 実行後は SIGCHLD ハンドラを元に戻すように修正しました。
(Yugo Nagata)
修正前は SIGCHLD は常に SIG_IGN にセットされていたので、ping など
他のコマンドの終了状態の取得が正しく行えず、コマンド自体が正常終了
してもログには警告メッセージが出力されていました。
- RPM: RHEL/CentOS7 で systemd を使用するため pgpool.service を追加しました。
(Nozomi Anzai)
- enabled_pool_hba 有効時に pgpool reload を繰り返すとプロセスが異常
終了するバグを修正しました。(Muhammad Usama)
- app_name_redirect_preference_list と database_redirect_preference_list
の値のチェックをより強固にしました。(Tatsuo Ishii)
以前はアプリケーション名・データベース名が空の場合や、不正なノード番号
も許容されていましたが、この検査を厳しくし、起動時に fatal エラーを
出力するように変更されました。
[pgpool-general-jp: 1337] の報告によります。
- RPM: systemd が使用可能な場合は使用するよう変更しました。(Nozomi Anzai)
- 設定パラメータ "client_min_messages" の振る舞いを修正しました。
(Muhammad Usama)
このパラメータはフロントエンドに送られる最小のメッセージレベルを制御
するものですが、以前はこの値にかかわらず、NOTICE より低いレベルの
メッセージは一切クライアントに送信されていませんでした。
===============================================================================
3.3.5 (tokakiboshi) 2015/02/05
* 概要
このバージョンは 3.3.4 に対するバグ修正リリースです。
__________________________________________________________________
* バグ修正
- doc: スレーブノードの数は1である必要でないことを明記しました。
(Tatsuo Ishii)
- watchdog を使用しているときにフェイルオーバ時に発生しうる
デッドロックを修正しました。(Muhammad Usama)
bug #105 の報告によります。
http://www.pgpool.net/mantisbt/view.php?id=105
- 未初期化の変数があったのを修正しました。(Tatsuo Ishii)
Coverity の報告 #1234603 によります。
- doc: 前回のリリースで抜け落ちていたリリースノートを追記しました。
(Tatsuo Ishii)
- test: pgpool_setup の wait_for_pgpool_startup 関数が test データベース
ではなくpostgres データベースを使用するように修正しました。(Tatsuo Ishii)
test データベースは存在しない場合があり、その場合はタイムアウト(20秒)
になるまでリトライしつづけるので、レグレッションテストに必要以上に時間
がかかっていました。
- クエリキャッシュで発生しうるセグメンテーションフォルトを修正しました。
(Tatsuo Ishii)
- RPM: memcached に対応しました。(Tatsuo Ishii)
- test: pgpool_setup で使用する設定ファイルのディレクトリを環境変数
PGPOOLDIR で指定できるようになりました。(Tatsuo Ishii)
- RPM: RPM ファイル名を変更しました。(Yugo Nagata)
新しいファイル名は PostgreSQL の公式 RPM ファイルのように RHEL の
バージョン番号を含みます。(例. pgpool-II-pg93-3.4.0-2pgdg.rhel6.x86_64.rpm)
- trigger_failover_command() 関数のノード ID 範囲検査のバグを修正しました。
(Tatsuo Ishii)
ノード ID は定数 NUM_BACKENDS 未満である必要があります。実際には
NUM_BACKENDS 以上の値はこの関数に渡されていなかったので、おそらく
害はありませんでした。
- test:pgpool_setup の failover スクリプトがデータベースクラスタの絶対
パスを使用するように修正しました。(Tatsuo Ishii)
- test: メモリリークのレグレッションテストを追加しました。(Tatsuo Ishii)
- exec_ifconfig() 関数での SIGCHLD ハンドリングの不具合をを修正しました。
(Tatsuo Ishii)
何らかの理由により、SIGCHLD は SIG_IGN にセットされているにもかからず
子プロセスの終了状態を取得しようとしていました。SIGCHLD は無視されるため、
これは常に失敗します。このため watchdog の pgpool-II 切り替わり時に
"ifconfig up" が失敗とみなされていました。
詳しくは "[pgpool-general: 3310] をご参照ください。
- if_up_cmd, if_down_cmd でアドレスプレフィックス付きの $_IP_$ を
使用できるように修正しました。(Muhammad Usama)
以前は "$_IP_$" の直後には空白が来ることが前提となっていたため、
アドレスプレフィックスがある場合(例:$_IP_$/24 )、このプレフィックス
は無視されていました。
bug #122 の報告によります。
http://www.pgpool.net/mantisbt/view.php?id=122
- show pool_nodes が 2 桁以上のノード ID を表示できるように修正しました。
(Muhammad Usama)
この問題は [pgpool-general: 3374] で報告されました。
- レグレッションテスト '004.watchdog' が失敗する場合があるのを修正しました。
(Yugo Nagata)
パッチは uehara によって bug #127 で提供されました。
http://www.pgpool.net/mantisbt/view.php?id=127
- if_up_cmd, if_down_cmd 実行後は SIGCHLD ハンドラを元に戻すように修正しました。
(Yugo Nagata)
修正前は SIGCHLD は常に SIG_IGN にセットされていたので、ping など
他のコマンドの終了状態の取得が正しく行えず、コマンド自体が正常終了
してもログには警告メッセージが出力されていました。
- RPM: RHEL/CentOS7 で systemd を使用するため pgpool.service を追加しました。
(Nozomi Anzai)
- RPM: pgpool_regclass と pgpool_recovery を extension パッケージとして
他から分離させました。(Tatsuo Ishii)
PostgreSQL サーバでは extension パッケージのみが必要で、pgpool-II の
全パッケージをインストールする必要はありません。
Andrew N Golovkov によります。
- RPM: spec ファイルで SSL の configure オプションが誤っていたのを修正しました。
(Tatsuo Ishii)
SSL を有効にするオプションが "--with-openssl=/usr" となっていましたが、
正しくは "--with-openssl" でした。
bug #115 の報告によります。
http://www.pgpool.net/mantisbt/view.php?id=115
- RPM: systemd が使用可能なら使用するとともに、PostgreSQL 9.4 への対応を
行いました。(Nozomi Anzai)
- 設定ファイルのリロードにより debug モードを無効にできるよう修正しました。
(Yugo Nagata)
bug #114 の報告によります。
http://www.pgpool.net/mantisbt/view.php?id=114
===============================================================================
3.2.10 (namameboshi) 2015/02/05
* 概要
このバージョンは 3.2.9 に対するバグ修正リリースです。
__________________________________________________________________
* バグ修正
- doc: スレーブノードの数は1である必要でないことを明記しました。
(Tatsuo Ishii)
- 未初期化の変数があったのを修正しました。(Tatsuo Ishii)
Coverity の報告 #1234603 によります。
- doc: 前回のリリースで抜け落ちていたリリースノートを追記しました。
(Tatsuo Ishii)
- クエリキャッシュで発生しうるセグメンテーションフォルトを修正しました。
(Tatsuo Ishii)
- trigger_failover_command() 関数のノード ID 範囲検査のバグを修正しました。
(Tatsuo Ishii)
ノード ID は定数 NUM_BACKENDS 未満である必要があります。実際には
NUM_BACKENDS 以上の値はこの関数に渡されていなかったので、おそらく
害はありませんでした。
- if_up_cmd, if_down_cmd でアドレスプレフィックス付きの $_IP_$ を
使用できるように修正しました。(Muhammad Usama)
以前は "$_IP_$" の直後には空白が来ることが前提となっていたため、
アドレスプレフィックスがある場合(例:$_IP_$/24 )、このプレフィックス
は無視されていました。
bug #122 の報告によります。
http://www.pgpool.net/mantisbt/view.php?id=122
- show pool_nodes が 2 桁以上のノード ID を表示できるように修正しました。
(Muhammad Usama)
この問題は [pgpool-general: 3374] で報告されました。
- 設定ファイルのリロードにより debug モードを無効にできるよう修正しました。
(Yugo Nagata)
bug #114 の報告によります。
http://www.pgpool.net/mantisbt/view.php?id=114
===============================================================================
3.1.13 (hatsuiboshi) 2015/02/05
* 概要
このバージョンは 3.1.12 に対するバグ修正リリースです。
__________________________________________________________________
* バグ修正
- doc: スレーブノードの数は1である必要でないことを明記しました。
(Tatsuo Ishii)
- 未初期化の変数があったのを修正しました。(Tatsuo Ishii)
Coverity の報告 #1234603 によります。
- doc: 前回のリリースで抜け落ちていたリリースノートを追記しました。
(Tatsuo Ishii)
- trigger_failover_command() 関数のノード ID 範囲検査のバグを修正しました。
(Tatsuo Ishii)
ノード ID は定数 NUM_BACKENDS 未満である必要があります。実際には
NUM_BACKENDS 以上の値はこの関数に渡されていなかったので、おそらく
害はありませんでした。
- 設定ファイルのリロードにより debug モードを無効にできるよう修正しました。
(Yugo Nagata)
bug #114 の報告によります。
http://www.pgpool.net/mantisbt/view.php?id=114
===============================================================================
3.0.17 (umiyameboshi) 2015/02/05
* 概要
このバージョンは 3.0.16 に対するバグ修正リリースです。
__________________________________________________________________
* バグ修正
- doc: スレーブノードの数は1である必要でないことを明記しました。
(Tatsuo Ishii)
- 未初期化の変数があったのを修正しました。(Tatsuo Ishii)
Coverity の報告 #1234603 によります。
- doc: 前回のリリースで抜け落ちていたリリースノートを追記しました。
(Tatsuo Ishii)
- trigger_failover_command() 関数のノード ID 範囲検査のバグを修正しました。
(Tatsuo Ishii)
ノード ID は定数 NUM_BACKENDS 未満である必要があります。実際には
NUM_BACKENDS 以上の値はこの関数に渡されていなかったので、おそらく
害はありませんでした。
- 設定ファイルのリロードにより debug モードを無効にできるよう修正しました。
(Yugo Nagata)
bug #114 の報告によります。
http://www.pgpool.net/mantisbt/view.php?id=114
===============================================================================
--
Yugo Nagata <nagata @ sraoss.co.jp>
pgpool-general-jp メーリングリストの案内