[pgpool-general-jp: 1396] pgpool-II 3.5.1, 3.4.5, 3.3.9, 3.2.14, 3.1.17, and pgpoolAdmin 3.5.1 released

Yugo Nagata nagata @ sraoss.co.jp
2016年 4月 4日 (月) 23:45:29 JST


長田です。

3.5.1, 3.4.5, 3.3.9, 3.2.14, 3.1.17, および pgpoolAdmin 3.5.1 をリリース
しましたのでお知らせいたします。

以下からダウンロードすることができます。
http://pgpool.net/mediawiki/index.php/Downloads

=================================================================================
リリースノート
=================================================================================

                        3.5.1 (ekieboshi) 2016/04/01

* 概要

    このバージョンは 3.5.0 に対するバグ修正リリースです。

    __________________________________________________________________

* バグ修正

    - wd_authkey ハッシュ計算失敗時に警告メッセージを出力するようにしました
      (Yugo Nagata)
      
      たまに、認証キー不一致以外の何らかの理由で wd_authkey 計算に失敗する
      ことがあります。メッセージ出力を追加することでこれらを互いに区別でき
      るようにしました。

    - test: 個々のテストのタイムアウトをチェックできるようレグレッション
      テストを修正しました。(Yugo Nagata)

    - test: タイムアウトの値をコマンドオプションで指定できるようにしました。
      (Yugo Nagat)

    - FreeBSD でのコンパイルエラーを修正しました。(Muhammad Usama)
      
      不足していた include ファイルを追加しました。
      
      bug #166 の報告によります。パッチはバグ報告者によって作成され、
      Usama により改善されました。

    - test: test/regression/clean.sh が 010.rewrite_timestamp のテストで
      生成されたバイナリファイルを削除するよう修正しました。(Yugo Nagata)

    - Coverity によって報告されたメモリリークを修正しました。(CID 1350095)
      (Yugo Nagata)

    - PostgreSQL 9.6 における pgpool-recovery モジュールのコンパイルエラーを
      修正しました。(Muhammad Usama)
      
      PostgreSQL 9.6 の GetConfigOption..() 関数の関数定義の変化に対応しました。

    - コメントのみを含む空クエリを適切に処理できるよう修正しました。
      (Tatsuo Ishii)
      
      pgpool-II は "/* DBD::Pg ping test v3.5.3 */" (';' を含まないことに注意)
      のような空クエリをエラーと認識し、"Unable to parse the query" といった
      メッセージを出力していました。これは raw_parser() が空クエリとエラー
      クエリを識別できなかったためです。本修正では新しいパラメータ *error
      がこの関数に追加されました。エラー発生時にはこの変数が true にセット
      され、呼び出し側は raw_parser() が NIL を返した理由がエラークエリに
      よるものか空クエリによるものか知ることができるようになりました。
      
      bug #154 の報告によります。詳しくは [pgpool-hackers: 1359] を参照してください。

    - リセットクエリがスタックする問題を修正しました。(Muhammad Usama)
      
      フロントエンドソケットにおける pool_flush が失敗しときには、ERROR
      ではなく FRONTEND_ERROR を発生させることで解決しました。
      
      以下で報告されました。
      [pgpool-general: 4265] Pgpool - connection hangs in DISCARD ALL
      
      パッチは Usama および Pawel Ufnalewski<archon @ foap.com> によって作成
      され、Gerhard Wiesinger <lists @ wiesinger.com> が検証とテストに協力
      しました。

    - リセットクエリがスタックする問題を修正しました。(Tatsuo Ishii)
      
      フロントエンドから 'X' メッセージを受信した後、リセットクエリ送信前に
      pgpool-II が EOF をその接続で検出すると、pgpool-II がリセットクエリを
      受信していないバックエンドからの応答を待ち続けることがありました。
      
      EOF を受信した場合には、これを ERROR ではなく FRONTEND_ERROR として
      扱うことで修正しました。
      
      詳しくは以下を参照してください。
      [pgpool-hackers: 1440] Yet another reset query stuck problem

    - ストリーミングレプリケーションモードで拡張プロトコル問い合わせを使用
      したときにスタックが発生する問題を修正しました。(Tatsuo Ishii)
      
      この修正は bug #167 および #168 に対するものです。

    - バックエンドからエラー状態を受信した直後のハングを修正しました。
      (Tatsuo Ishii)
      
      これは拡張プロトコル問い合わせを実行しそれが失敗しときに発生し得ました。
      
      bug #169 の報告によります。

    - 子プロセスが終了し再生成されなくなる不具合を修正しました。(Muhammad Usama)
      
      この問題は watchdog が有効のときに終了した子プロセスのタイプをチェックする
      コードにロジック間違いがあったのが原因でした。また、接続が max connection
      に達して子プロセスが終了する際に出力されるメッセージの重要度を FATAL から
      LOG に変更されました。
      
      Per [pgpool-general: 4519] Worker Processes Exit and Are Not Re-spawned

    - configure のタイポを修正しました。(Tatsuo Ishii)
      
      パッチは Thomas Munro によって提供されました。

    - doc: backend_flag の記述を修正しました。(Tatsuo Ishii)
      
      pgpool-II の再起動は不必要であることが指摘されました。
      [pgpool-general-jp: 1394] によります。

    - doc: インストールに関する記述を修正しました。 (Tatsuo Ishii)
      
      PostgreSQL 9.4 以降では、pgpool_regclass のインストールは必要ありません。

    - test: pgpool_setup のログ出力の異常を修正しました。(Tatsuo Ishii)
      
      以前は pgpool プロセスの stdout および stderr は単にログファイルに
      リダイレクトされていました。これは複数プロセスが同時に書き込みを行う
      ため競合が発生し、ログの文字化けや失敗の原因となっていました。
      
      このため、pgpool_setup が生成する startall スクリプトでは、
      pgpool は stdout/stderr を cat コマンドにパイプで送信し、cat
      がログファイルの書き込みを行うように修正されました。

    - PCP パケットの長さを検証するよう修正されました。(Muhammad Usama)
      
      この検証がない場合、非常に巨大なデータサイズのパケットを送信することで、
      不正な PCP パケットが PCP 子プロセスをクラッシュさせたり、サーバで
      out of memory を発生させることが可能でした。

===============================================================================

                        3.4.5 (tataraboshi) 2016/04/01

* 概要

    このバージョンは 3.4.4 に対するバグ修正リリースです。

    __________________________________________________________________

* バグ修正

    - test: test/regression/clean.sh が 010.rewrite_timestamp のテストで
      生成されたバイナリファイルを削除するよう修正しました。(Yugo Nagata)

    - Coverity によって報告されたメモリリークを修正しました。(CID 1350095)
      (Yugo Nagata)

    - PostgreSQL 9.6 における pgpool-recovery モジュールのコンパイルエラーを
      修正しました。(Muhammad Usama)
      
      PostgreSQL 9.6 の GetConfigOption..() 関数の関数定義の変化に対応しました。

    - リセットクエリがスタックする問題を修正しました。(Muhammad Usama)
      
      フロントエンドソケットにおける pool_flush が失敗しときには、ERROR
      ではなく FRONTEND_ERROR を発生させることで解決しました。
      
      以下で報告されました。
      [pgpool-general: 4265] Pgpool - connection hangs in DISCARD ALL
      
      パッチは Usama および Pawel Ufnalewski<archon @ foap.com> によって作成
      され、Gerhard Wiesinger <lists @ wiesinger.com> が検証とテストに協力
      しました。

    - configure のタイポを修正しました。(Tatsuo Ishii)
      
      パッチは Thomas Munro によって提供されました。

    - doc: backend_flag の記述を修正しました。(Tatsuo Ishii)
      
      pgpool-II の再起動は不必要であることが指摘されました。
      [pgpool-general-jp: 1394] によります。

    - doc: インストールに関する記述を修正しました。 (Tatsuo Ishii)
      
      PostgreSQL 9.4 以降では、pgpool_regclass のインストールは必要ありません。

    - test: pgpool_setup のログ出力の異常を修正しました。(Tatsuo Ishii)
      
      以前は pgpool プロセスの stdout および stderr は単にログファイルに
      リダイレクトされていました。これは複数プロセスが同時に書き込みを行う
      ため競合が発生し、ログの文字化けや失敗の原因となっていました。
      
      このため、pgpool_setup が生成する startall スクリプトでは、
      pgpool は stdout/stderr を cat コマンドにパイプで送信し、cat
      がログファイルの書き込みを行うように修正されました。

    - PCP パケットの長さを検証するよう修正されました。(Muhammad Usama)
      
      この検証がない場合、非常に巨大なデータサイズのパケットを送信することで、
      不正な PCP パケットが PCP 子プロセスをクラッシュさせたり、サーバで
      out of memory を発生させることが可能でした。

===============================================================================

                        3.3.9 (tokakiboshi) 2016/04/01

* 概要

    このバージョンは 3.3.8 に対するバグ修正リリースです。

    __________________________________________________________________

* バグ修正

    - test: test/regression/clean.sh が 010.rewrite_timestamp のテストで
      生成されたバイナリファイルを削除するよう修正しました。(Yugo Nagata)

    - Coverity によって報告されたメモリリークを修正しました。(CID 1350095)
      (Yugo Nagata)

    - PostgreSQL 9.6 における pgpool-recovery モジュールのコンパイルエラーを
      修正しました。(Muhammad Usama)
      
      PostgreSQL 9.6 の GetConfigOption..() 関数の関数定義の変化に対応しました。

    - configure のタイポを修正しました。(Tatsuo Ishii)
      
      パッチは Thomas Munro によって提供されました。

    - doc: backend_flag の記述を修正しました。(Tatsuo Ishii)
      
      pgpool-II の再起動は不必要であることが指摘されました。
      [pgpool-general-jp: 1394] によります。

    - doc: インストールに関する記述を修正しました。 (Tatsuo Ishii)
      
      PostgreSQL 9.4 以降では、pgpool_regclass のインストールは必要ありません。

    - test: pgpool_setup のログ出力の異常を修正しました。(Tatsuo Ishii)
      
      以前は pgpool プロセスの stdout および stderr は単にログファイルに
      リダイレクトされていました。これは複数プロセスが同時に書き込みを行う
      ため競合が発生し、ログの文字化けや失敗の原因となっていました。
      
      このため、pgpool_setup が生成する startall スクリプトでは、
      pgpool は stdout/stderr を cat コマンドにパイプで送信し、cat
      がログファイルの書き込みを行うように修正されました。

    - PCP パケットの長さを検証するよう修正されました。(Muhammad Usama)
      
      この検証がない場合、非常に巨大なデータサイズのパケットを送信することで、
      不正な PCP パケットが PCP 子プロセスをクラッシュさせたり、サーバで
      out of memory を発生させることが可能でした。

    - リセットクエリがスタックする問題を修正しました。(Muhammad Usama)
      
      フロントエンドソケットにおける pool_flush が失敗しときには、ERROR
      ではなく FRONTEND_ERROR を発生させることで解決しました。
      
      以下で報告されました。
      [pgpool-general: 4265] Pgpool - connection hangs in DISCARD ALL

===============================================================================

                        3.2.14 (namameboshi) 2016/04/01

* 概要

    このバージョンは 3.2.13 に対するバグ修正リリースです。

    __________________________________________________________________

* バグ修正

    - doc: backend_flag の記述を修正しました。(Tatsuo Ishii)
      
      pgpool-II の再起動は不必要であることが指摘されました。
      [pgpool-general-jp: 1394] によります。

    - doc: インストールに関する記述を修正しました。 (Tatsuo Ishii)
      
      PostgreSQL 9.4 以降では、pgpool_regclass のインストールは必要ありません。

    - PCP パケットの長さを検証するよう修正されました。(Muhammad Usama)
      
      この検証がない場合、非常に巨大なデータサイズのパケットを送信することで、
      不正な PCP パケットが PCP 子プロセスをクラッシュさせたり、サーバで
      out of memory を発生させることが可能でした。

    - リセットクエリがスタックする問題を修正しました。(Muhammad Usama)
      
      フロントエンドソケットにおける pool_flush が失敗しときには、ERROR
      ではなく FRONTEND_ERROR を発生させることで解決しました。
      
      以下で報告されました。
      [pgpool-general: 4265] Pgpool - connection hangs in DISCARD ALL

===============================================================================

                        3.1.17 (hatsuiboshi) 2016/04/01

* 概要

    このバージョンは 3.1.16 に対するバグ修正リリースです。

    __________________________________________________________________

* バグ修正

    - doc: backend_flag の記述を修正しました。(Tatsuo Ishii)
      
      pgpool-II の再起動は不必要であることが指摘されました。
      [pgpool-general-jp: 1394] によります。

    - doc: インストールに関する記述を修正しました。 (Tatsuo Ishii)
      
      PostgreSQL 9.4 以降では、pgpool_regclass のインストールは必要ありません。

    - PCP パケットの長さを検証するよう修正されました。(Muhammad Usama)
      
      この検証がない場合、非常に巨大なデータサイズのパケットを送信することで、
      不正な PCP パケットが PCP 子プロセスをクラッシュさせたり、サーバで
      out of memory を発生させることが可能でした。

    - リセットクエリがスタックする問題を修正しました。(Muhammad Usama)
      
      フロントエンドソケットにおける pool_flush が失敗しときには、ERROR
      ではなく FRONTEND_ERROR を発生させることで解決しました。
      
      以下で報告されました。
      [pgpool-general: 4265] Pgpool - connection hangs in DISCARD ALL

===============================================================================



-- 
Yugo Nagata <nagata @ sraoss.co.jp>


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