Prepre 3.2.13 V3_2_13
authorYugo Nagata <nagata@sraoss.co.jp>
Fri, 5 Feb 2016 06:31:31 +0000 (15:31 +0900)
committerYugo Nagata <nagata@sraoss.co.jp>
Fri, 5 Feb 2016 06:31:31 +0000 (15:31 +0900)
COPYING
NEWS
configure
configure.in
doc/pgpool-ja.html

diff --git a/COPYING b/COPYING
index 718bc92b6ae4cfd228a6a03fdd149b026037dc01..e73d19575afac715e82f9db0afaac47bc3b15859 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -1,4 +1,4 @@
-Copyright (c) 2003-2015                PgPool Global Development Group
+Copyright (c) 2003-2016                PgPool Global Development Group
 
 Permission to use, copy, modify, and distribute this software and
 its documentation for any purpose and without fee is hereby
diff --git a/NEWS b/NEWS
index b8815a1e0bd39988611c8f9fe961c7fe3f10c642..6e251eb2b9feda47a0070eec994c115e22685760 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,90 @@
 
 ===============================================================================
 3.2 Series (2012/08/03 - )
+===============================================================================
+
+                        3.2.13 (namameboshi) 2016/02/05
+
+* Version 3.2.13
+
+    This is a bugfix release against pgpool-II 3.2.12.
+
+    __________________________________________________________________
+
+* Bug fixes
+
+    - doc: Fix misinformation regarding load balancing in docs (Tatsuo Ishii)
+      
+      In streaming replication mode, DECLARE, FETCH, CLOSE and SHOW are sent
+      to primary node only. Pointed out in [pgpool-general-jp: 1378].
+
+    - Issue fsync() when writing pgpool_status (Tatsuo Ishii)
+      
+      This ensures that pgpool_status is saved to permanent storage and
+      allow to survive after system crash.
+
+    - Fix ancient bug of pool_push() and friends (Tatsuo Ishii)
+      
+      It allocates buffer using realloc and uses the pointer
+      returned. However it does the pointer calculation *before* realloc
+      gets called. So the calculation uses the old pointer value, which
+      causes various problems including segfault later.
+      
+      Also there were other problems with it. The buffer pointer and buffer
+      size variable is not initialized. The buffer is not freed by
+      pool_close. Typo in debugging message (3.4 or later only). They are
+      fixed as well.
+
+    - doc: Fix wrong description about log_standby_delay in the document
+      (Yugo Nagata)
+
+    - Fix bug with "SET TRANSACTION READ ONLY" (Tatsuo Ishii)
+      
+      Pgpool-II remembers that non read only queries (including SET) were
+      executed in an explicit transaction and adds a "writing transaction"
+      mark to the transaction. The mark affects the query routing behavior
+      of pgpool-II while running in streaming replication mode. Pgpool-II
+      starts sending queries to the primary after the mark is set. Because
+      the effect of writing queries may appear on standbys after some delay
+      in streaming replication mode, it is safer to route read queries to
+      the primary after the mark is set.
+      
+      However there's oversight here. "SET TRANSACTION READ ONLY" does no
+      data modification and should be treated as an exception.
+      
+      Per bug #157.
+
+    - Fix FATAL error with reloading (Tatsuo Ishii)
+      
+      While reloading pgpool.conf, the number of DB nodes is tentatively set
+      to 0, then counted up until reaching to the actual number of backends
+      by the pgpool main process. Unfortunately the variable was on the
+      shared memory and it confused pgpool child process when they were using
+      the variable and this caused FATAL error.
+      
+      Per bug #156 report by harukat.
+
+    - doc: Add restriction about starting multiple pgpool simultaneously
+      (Yugo Nagata)
+
+    - Fix a in-memory query cache bug (Tatsuo Ishii)
+      
+      If extended query protocol is used and a bind/execute message arrives
+      which uses a statement created by prior parse message, the temp_cache
+      is not initialized by a parse messages. Thus messages are added to pre
+      existing temp cache buffer which causes the trouble, that is, when the
+      cached result returns, Data Row message and Command Complete message
+      appeared twice.
+      
+      Per by bug #152.
+
+    - Ignore close statement/portal request if they do not exist (Tatsuo Ishii)
+      
+      In this case just returns a close complete message to client.
+      This is a back port of the following commit from pgpool-II 3.4:
+      
+      1a37e1c35bd8b6f10f524693bbcb7b51f73b4bf0
+
 ===============================================================================
 
                         3.2.12 (namameboshi) 2015/07/24
 
 ===============================================================================
 3.1 Series (2011/09/08 - )
+===============================================================================
+
+                        3.1.16 (hatsuiboshi) 2016/02/05
+
+* Version 3.1.16
+
+    This is a bugfix release against pgpool-II 3.1.15.
+
+    __________________________________________________________________
+
+* Bug fixes
+
+    - doc: Fix misinformation regarding load balancing in docs (Tatsuo Ishii)
+      
+      In streaming replication mode, DECLARE, FETCH, CLOSE and SHOW are sent
+      to primary node only. Pointed out in [pgpool-general-jp: 1378].
+
+    - Issue fsync() when writing pgpool_status (Tatsuo Ishii)
+      
+      This ensures that pgpool_status is saved to permanent storage and
+      allow to survive after system crash.
+
+    - doc: Fix wrong description about log_standby_delay in the document
+      (Yugo Nagata)
+
+    - Fix bug with "SET TRANSACTION READ ONLY" (Tatsuo Ishii)
+      
+      Pgpool-II remembers that non read only queries (including SET) were
+      executed in an explicit transaction and adds a "writing transaction"
+      mark to the transaction. The mark affects the query routing behavior
+      of pgpool-II while running in streaming replication mode. Pgpool-II
+      starts sending queries to the primary after the mark is set. Because
+      the effect of writing queries may appear on standbys after some delay
+      in streaming replication mode, it is safer to route read queries to
+      the primary after the mark is set.
+      
+      However there's oversight here. "SET TRANSACTION READ ONLY" does no
+      data modification and should be treated as an exception.
+      
+      Per bug #157.
+
+    - Fix FATAL error with reloading (Tatsuo Ishii)
+      
+      While reloading pgpool.conf, the number of DB nodes is tentatively set
+      to 0, then counted up until reaching to the actual number of backends
+      by the pgpool main process. Unfortunately the variable was on the
+      shared memory and it confused pgpool child process when they were using
+      the variable and this caused FATAL error.
+      
+      Per bug #156 report by harukat.
+
+    - Ignore close statement/portal request if they do not exist (Tatsuo Ishii)
+      
+      In this case just returns a close complete message to client.
+      This is a back port of the following commit from pgpool-II 3.4:
+      
+      1a37e1c35bd8b6f10f524693bbcb7b51f73b4bf0
+
 ===============================================================================
 
                         3.1.15 (hatsuiboshi) 2015/07/24
 
 ===============================================================================
 3.0 Series (2013/07/30 - )
+===============================================================================
+
+                        3.0.20 (umiyameboshi) 2016/02/05
+
+* Version 3.0.20
+
+    This is a bugfix release against pgpool-II 3.0.19.
+
+    This is the final release of the series. pgpool-II 3.0 has reached
+    End of Life, and is no longer maintained and does not receive any
+    updates.
+
+    __________________________________________________________________
+
+* Bug fixes
+
+    - doc: Fix misinformation regarding load balancing in docs (Tatsuo Ishii)
+      
+      In streaming replication mode, DECLARE, FETCH, CLOSE and SHOW are sent
+      to primary node only. Pointed out in [pgpool-general-jp: 1378].
+
+    - Issue fsync() when writing pgpool_status (Tatsuo Ishii)
+      
+      This ensures that pgpool_status is saved to permanent storage and
+      allow to survive after system crash.
+
+    - doc: Fix wrong description about log_standby_delay in the document
+      (Yugo Nagata)
+
+    - Fix bug with "SET TRANSACTION READ ONLY" (Tatsuo Ishii)
+      
+      Pgpool-II remembers that non read only queries (including SET) were
+      executed in an explicit transaction and adds a "writing transaction"
+      mark to the transaction. The mark affects the query routing behavior
+      of pgpool-II while running in streaming replication mode. Pgpool-II
+      starts sending queries to the primary after the mark is set. Because
+      the effect of writing queries may appear on standbys after some delay
+      in streaming replication mode, it is safer to route read queries to
+      the primary after the mark is set.
+      
+      However there's oversight here. "SET TRANSACTION READ ONLY" does no
+      data modification and should be treated as an exception.
+      
+      Per bug #157.
+
+    - Fix FATAL error with reloading (Tatsuo Ishii)
+      
+      While reloading pgpool.conf, the number of DB nodes is tentatively set
+      to 0, then counted up until reaching to the actual number of backends
+      by the pgpool main process. Unfortunately the variable was on the
+      shared memory and it confused pgpool child process when they were using
+      the variable and this caused FATAL error.
+      
+      Per bug #156 report by harukat.
+
+    - Ignore close statement/portal request if they do not exist (Tatsuo Ishii)
+      
+      In this case just returns a close complete message to client.
+      This is a back port of the following commit from pgpool-II 3.4:
+      
+      1a37e1c35bd8b6f10f524693bbcb7b51f73b4bf0
+
 ===============================================================================
 
                         3.0.19 (umiyameboshi) 2015/07/24
index 73bd97e6ccfa40fc3508d42406163c4a1dfe447c..fbe25da8d85b21bdeb28a98972c9c56a7bdc06d7 100755 (executable)
--- a/configure
+++ b/configure
@@ -3976,7 +3976,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=pgpool-II
- VERSION=3.2.12
+ VERSION=3.2.13
 
 
 cat >>confdefs.h <<_ACEOF
index 34f62f53270b762fea62ca75b90c50e1edbad660..43ee55d0cd16436177946d72d9912ca69a4c3c55 100644 (file)
@@ -4,7 +4,7 @@ AC_INIT
 dnl Checks for programs.
 AC_PROG_CC
 
-AM_INIT_AUTOMAKE(pgpool-II, 3.2.12)
+AM_INIT_AUTOMAKE(pgpool-II, 3.2.13)
 # AC_PROG_RANLIB
 AC_PROG_LIBTOOL
 
index b939cf5923205b8a1cca9fc32bef2361db8534e8..e4a249cb16e9367a4b029619faadfbeae92b9104 100644 (file)
@@ -5518,6 +5518,95 @@ SELECTの最終実行ステータスとパフォーマンスのおおよその
 <!-- 3.2                                                                              -->
 <!-- ================================================================================ -->
 
+<!-- -------------------------------------------------------------------------------- -->
+<h2><a name="release3.2.13"></a>3.2.13 (namameboshi) 2016/02/05</h2>
+<!-- -------------------------------------------------------------------------------- -->
+
+<h3>概要</h3>
+<p>
+このバージョンは 3.2.12 に対するバグ修正リリースです。
+</p>
+
+<h3>バグ修正</h3>
+<ul>
+
+<li>
+    doc: ドキュメントのロードバランスに関する情報を修正しました。(Tatsuo Ishii)
+    <p>
+    ストリーミングレプリケーションでは DECLARE, FETCH, CLOSE, SHOW はプライマリノードにのみ送られます。[pgpool-general-jp: 1378] での指摘によります。
+    </p>
+</li>
+
+<li>
+    pgpool_status 書き込み時に fsync() を実行するようになりました。(Tatsuo Ishii)
+    <p>
+    これにより、pgpool_status が永続ストレージに保存され、システムクラッシュ時も情報が失われないことを保証します。
+    </p>
+</li>
+
+<li>
+    古くから存在していた pool_push() 関連関数のバグを修正しました。(Tatsuo Ishii)
+    <p>
+    これはバッファを realloc で割り当て、返却されたポインタを使っていますが、realloc が呼ばれる前にポインタの計算を行っていたため、古いポインタ値が使われることになり、セグメンテーションフォルトを含む様々な問題の原因となっていました。
+    </p>
+    <p>
+    また、他にも問題がありました。バッファポインタやバッファサイズが初期化されていない、バッファが pool_close で解放されていない、デバッグメッセージのtypo などです。これらも同時に修正されました。
+    </p>
+</li>
+
+<li>
+    doc: log_standby_delay に関するドキュメントの誤った記述が修正されました。(Yugo Nagata)
+</li>
+
+<li>
+    "SET TRANSACTION READ ONLY" のバグを修正しました。(Tatsuo Ishii)
+    <p>
+    pgpool-II は読み込み以外を行うクエリ(SET を含む)が明示的なトランザクションの中で実行されたことを記憶し、それが「書き込みトランザクション」であることをマークします。これはストリーミングレプリケーション時のクエリの振り分け処理に影響します。pgpool-II はそのマークの後、クエリをプライマリに送信するようになります。これは、ストリーミングレプリケーションで書き込みクエリの結果がスタンバイで遅れて現れるために、クエリはプライマリに送られが方がより安全だからです。
+    </p>
+    <p>
+    ただし、見過ごされていましたが "SET TRANSACTION READ ONLY" はデータを変更しないので、例外として扱われるべきでした。
+    </p>
+    <p>
+    バグ報告 #157 によります。
+    </p>
+</li>
+
+<li>
+    設定リロード時の FATAL エラーを修正しました。(Tatsuo Ishii)
+    <p>
+    pgpool.conf をリロードする際には DB ノードの数が一時的に 0 にセットされたのちに pgpool メインプロセスにより実際のバックエンド数に達するまでカウントアップされます。この変数が共有メモリ上にあったため pgpool 子プロセスで問題が発生し FATAL エラーの原因となっていました。
+    </p>
+    <p>
+    Bug #156 の harukat の報告によります。
+    </p>
+</li>
+
+<li>
+    doc: 複数の pgpool-II を同時に起動することに関する制限事項を追加しました。(Yugo Nagata)
+</li>
+
+<li>
+    インメモリクエリキャッシュのバグを修正しました。(Tatsuo Ishii)
+    <p>
+    拡張プロトコルが使用されており、以前の parse メッセージで作成された文を使用する bind/execute メッセージが到着した際に、一時キャッシュが parse メッセージで初期されておらず、メッセージは既存の一時キャッシュに追加されていました。これが、キャッシュの結果を返すときに Data Row メッセージと Command Complete メッセージが2重に現れるというトラブルの原因になっていました。
+    </p>
+    <p>
+    bug #152 の報告によります。
+    </p>
+</li>
+
+<li>
+    ステートメント/ポータルが存在しない場合は、これらのクローズ要求を無視するよう修正しました。(Tatsuo Ishii)
+    <p>
+    この場合は単にクローズ完了メッセージをクライアントに返すだけとなります。この修正は過去に pgpool-II 3.4 で修正された以下のコミットのバックポートです。
+    </p>
+    <p>
+    1a37e1c35bd8b6f10f524693bbcb7b51f73b4bf0
+    </p>
+</li>
+
+</ul>
+
 <!-- -------------------------------------------------------------------------------- -->
 <h2><a name="release3.2.12"></a>3.2.12 (namameboshi) 2015/07/24</h2>
 <!-- -------------------------------------------------------------------------------- -->
@@ -7913,6 +8002,71 @@ autoconf
 <!-- ================================================================================ -->
 <hr>
 
+<!-- -------------------------------------------------------------------------------- -->
+<h2><a name="release3.1.16"></a>3.1.16 (hatsuiboshi) 2016/02/05</h2>
+<!-- -------------------------------------------------------------------------------- -->
+
+<h3>概要</h3>
+<p>
+このバージョンは 3.1.15 に対するバグ修正リリースです。
+</p>
+
+<h3>バグ修正</h3>
+<ul>
+
+<li>
+    doc: ドキュメントのロードバランスに関する情報を修正しました。(Tatsuo Ishii)
+    <p>
+    ストリーミングレプリケーションでは DECLARE, FETCH, CLOSE, SHOW はプライマリノードにのみ送られます。[pgpool-general-jp: 1378] での指摘によります。
+    </p>
+</li>
+
+<li>
+    pgpool_status 書き込み時に fsync() を実行するようになりました。(Tatsuo Ishii)
+    <p>
+    これにより、pgpool_status が永続ストレージに保存され、システムクラッシュ時も情報が失われないことを保証します。
+    </p>
+</li>
+
+<li>
+    doc: log_standby_delay に関するドキュメントの誤った記述が修正されました。(Yugo Nagata)
+</li>
+
+<li>
+    "SET TRANSACTION READ ONLY" のバグを修正しました。(Tatsuo Ishii)
+    <p>
+    pgpool-II は読み込み以外を行うクエリ(SET を含む)が明示的なトランザクションの中で実行されたことを記憶し、それが「書き込みトランザクション」であることをマークします。これはストリーミングレプリケーション時のクエリの振り分け処理に影響します。pgpool-II はそのマークの後、クエリをプライマリに送信するようになります。これは、ストリーミングレプリケーションで書き込みクエリの結果がスタンバイで遅れて現れるために、クエリはプライマリに送られが方がより安全だからです。
+    </p>
+    <p>
+    ただし、見過ごされていましたが "SET TRANSACTION READ ONLY" はデータを変更しないので、例外として扱われるべきでした。
+    </p>
+    <p>
+    バグ報告 #157 によります。
+    </p>
+</li>
+
+<li>
+    設定リロード時の FATAL エラーを修正しました。(Tatsuo Ishii)
+    <p>
+    pgpool.conf をリロードする際には DB ノードの数が一時的に 0 にセットされたのちに pgpool メインプロセスにより実際のバックエンド数に達するまでカウントアップされます。この変数が共有メモリ上にあったため pgpool 子プロセスで問題が発生し FATAL エラーの原因となっていました。
+    </p>
+    <p>
+    Bug #156 の harukat の報告によります。
+    </p>
+</li>
+
+<li>
+    ステートメント/ポータルが存在しない場合は、これらのクローズ要求を無視するよう修正しました。(Tatsuo Ishii)
+    <p>
+    この場合は単にクローズ完了メッセージをクライアントに返すだけとなります。この修正は過去に pgpool-II 3.4 で修正された以下のコミットのバックポートです。
+    </p>
+    <p>
+    1a37e1c35bd8b6f10f524693bbcb7b51f73b4bf0
+    </p>
+</li>
+
+</ul>
+
 <!-- -------------------------------------------------------------------------------- -->
 <h2><a name="release3.1.15"></a>3.1.15 (hatsuiboshi) 2015/07/24</h2>
 <!-- -------------------------------------------------------------------------------- -->
@@ -9431,6 +9585,74 @@ Date: Wed, 05 Oct 2011 15:15:07 -0700
 <!-- ================================================================================ -->
 <hr>
 
+<!-- -------------------------------------------------------------------------------- -->
+<h2><a name="release3.0.20"></a>3.0.20 (umiyameboshi) 2016/02/05</h2>
+<!-- -------------------------------------------------------------------------------- -->
+
+<h3>概要</h3>
+<p>
+このバージョンは 3.0.19 に対するバグ修正リリースです。
+</p>
+<p>
+これは 3.0 系の最終リリースです。pgpool-II 3.0 は End of Life となり、これ以上のメンテナンスやアップデートは行われません。
+</p>
+
+<h3>バグ修正</h3>
+<ul>
+
+<li>
+    doc: ドキュメントのロードバランスに関する情報を修正しました。(Tatsuo Ishii)
+    <p>
+    ストリーミングレプリケーションでは DECLARE, FETCH, CLOSE, SHOW はプライマリノードにのみ送られます。[pgpool-general-jp: 1378] での指摘によります。
+    </p>
+</li>
+
+<li>
+    pgpool_status 書き込み時に fsync() を実行するようになりました。(Tatsuo Ishii)
+    <p>
+    これにより、pgpool_status が永続ストレージに保存され、システムクラッシュ時も情報が失われないことを保証します。
+    </p>
+</li>
+
+<li>
+    doc: log_standby_delay に関するドキュメントの誤った記述が修正されました。(Yugo Nagata)
+</li>
+
+<li>
+    "SET TRANSACTION READ ONLY" のバグを修正しました。(Tatsuo Ishii)
+    <p>
+    pgpool-II は読み込み以外を行うクエリ(SET を含む)が明示的なトランザクションの中で実行されたことを記憶し、それが「書き込みトランザクション」であることをマークします。これはストリーミングレプリケーション時のクエリの振り分け処理に影響します。pgpool-II はそのマークの後、クエリをプライマリに送信するようになります。これは、ストリーミングレプリケーションで書き込みクエリの結果がスタンバイで遅れて現れるために、クエリはプライマリに送られが方がより安全だからです。
+    </p>
+    <p>
+    ただし、見過ごされていましたが "SET TRANSACTION READ ONLY" はデータを変更しないので、例外として扱われるべきでした。
+    </p>
+    <p>
+    バグ報告 #157 によります。
+    </p>
+</li>
+
+<li>
+    設定リロード時の FATAL エラーを修正しました。(Tatsuo Ishii)
+    <p>
+    pgpool.conf をリロードする際には DB ノードの数が一時的に 0 にセットされたのちに pgpool メインプロセスにより実際のバックエンド数に達するまでカウントアップされます。この変数が共有メモリ上にあったため pgpool 子プロセスで問題が発生し FATAL エラーの原因となっていました。
+    </p>
+    <p>
+    Bug #156 の harukat の報告によります。
+    </p>
+</li>
+
+<li>
+    ステートメント/ポータルが存在しない場合は、これらのクローズ要求を無視するよう修正しました。(Tatsuo Ishii)
+    <p>
+    この場合は単にクローズ完了メッセージをクライアントに返すだけとなります。この修正は過去に pgpool-II 3.4 で修正された以下のコミットのバックポートです。
+    </p>
+    <p>
+    1a37e1c35bd8b6f10f524693bbcb7b51f73b4bf0
+    </p>
+</li>
+
+</ul>
+
 <!-- -------------------------------------------------------------------------------- -->
 <h2><a name="release3.0.19"></a>3.0.19 (umiyameboshi) 2015/07/24</h2>
 <!-- -------------------------------------------------------------------------------- -->
@@ -11994,7 +12216,7 @@ HINT:  check data consistency between master and other db node
 <div class="copyright" style="clear: both">
 <hr>
 <copyright>
-Copyright &copy; 2003 &ndash; 2015 pgpool Global Development Group
+Copyright &copy; 2003 &ndash; 2016 pgpool Global Development Group
 </copyright>
 </div>