<!-- doc/src/sgml/release-4.0.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+<sect1 id="release-4-0-24">
+ <title>リリース 4.0.24</title>
+ <note>
+ <title>リリース日</title>
+ <simpara>2023-08-17</simpara>
+ </note>
+
+ <sect2>
+ <title>変更点</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2023-07-23 [2cbc61e]
+ -->
+ <para>
+ 共有メモリの初期化後にのみ、システム終了コールバックを呼び出すようにしました。(Muhammad Usama)
+ </para>
+ <para>
+ 共有メモリの取得に失敗して、終了時コールバックが呼び出された場合、クリーンアップ関数は、共有メモリに存在するprocess_infoにアクセスする際にセグメンテーション違反を引き起こす可能性がありました。
+ process_infoがNULLのときに終了コールバックからの中断で修正することもできますが、共有メモリの初期化に成功した後に関数をインストールする方がより良いアプローチです。
+ なぜなら、システムの残りの部分は常にprocess_infoがNULLになることはないと想定しており、また、子プロセスが生成される前にクリーンアップをする必要はないからです。
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2023-06-12 [7ff642f]
+ -->
+ <para>
+ 一部のシステムカタログ照会関数にスキーマ修飾を追加しました。(Tatsuo Ishii)
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>不具合修正</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2023-08-04 [1633f61]
+ -->
+ <para>
+ find_primary_node_repeatedlyが<xref linkend="guc-search-primary-node-timeout">指定時間内で終了しない問題を修正しました。(Bo Peng)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2023-07-09 [e62c5a7]
+ -->
+ <para>
+ <literal>pgproto</literal>をパラメータを使用するbindメッセージを処理できるようにしました。(Tatsuo Ishii)
+ </para>
+ <para>
+ 以前、<literal>pgproto</literal>はパラメータを持たないbindメッセージしか処理できませんでした。
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>ドキュメント修正</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2023-08-01 [65e2760]
+ -->
+ <para>
+ 停止モードの意味を明確にしました。(Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2023-06-27 [fc0747a]
+ -->
+ <para>
+ オンラインリカバリーの説明を改善しました。(Bo Peng)
+ </para>
+ <para>
+ 複数のpgpoolノードでwatchdogが有効になっていない場合、オンラインリカバリーのセカンドステージが適切に機能しないことについて言及しました。
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>回帰テスト修正</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2023-05-22 [29f7861]
+ -->
+ <para>
+ 時折発生する069.memory_leak_extendedテストの失敗を修正しました。(Tatsuo Ishii)
+ </para>
+ <para>
+ 偶発するテストの失敗の原因は、pgbenchが終了した後にpsコマンドを実行する前にpgpoolの子プロセスが消えてしまうことにあると判明しました。
+ これにより、「DISCARD ALL cannot be executed within a pipeline」というkind mismatchのFATALエラーが発生していました。
+ これを修正するために、pgbenchをバックグラウンドで実行し、pgbenchが終了する前にプロセスのサイズを取得するようにしました。
+ </para>
+ <para>
+ 議論: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2023-May/004338.html">https://www.pgpool.net/pipermail/pgpool-hackers/2023-May/004338.html</ulink>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+</sect1>
+
<sect1 id="release-4-0-23">
<title>リリース 4.0.23</title>
<note>
<!-- doc/src/sgml/release-4.0.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+<sect1 id="release-4-0-24">
+ <title>Release 4.0.24</title>
+ <note>
+ <title>Release Date</title>
+ <simpara>2023-08-17</simpara>
+ </note>
+
+ <sect2>
+ <title>Changes</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2023-07-23 [2cbc61e]
+ -->
+ <para>
+ Install system exit callback only after initialization of shared memory. (Muhammad Usama)
+ </para>
+ <para>
+ When the on-exit callback gets called because of a failure to acquire
+ shared memory. The cleanup function can produce a segfault while accessing
+ process_info, that lives in shared memory.
+ Although we can also fix this by bailing out from the exit callback when
+ process_info is NULL but installing the function after successful initialization
+ of shared memory is a better approach as the rest of the system always assumes
+ the process_info can never be NULL, and also, there is nothing to
+ clean up before child processes are spawned.
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2023-06-12 [7ff642f]
+ -->
+ <para>
+ Add schema qualification to some system catalog inquiry functions. (Tatsuo Ishii)
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Bug fixes</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2023-08-04 [1633f61]
+ -->
+ <para>
+ Fix find_primary_node_repeatedly doesn't terminate within <xref linkend="guc-search-primary-node-timeout">. (Bo Peng)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2023-07-09 [e62c5a7]
+ -->
+ <para>
+ Fix pgproto to work with bind message using params. (Tatsuo Ishii)
+ </para>
+ <para>
+ Previously pgproto can only process bind messages without params.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Documents</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2023-08-01 [65e2760]
+ -->
+ <para>
+ Clarify the meaning of stop mode. (Tatsuo Ishii)
+ </para>
+ </listitem>
+
+ <listitem>
+ <!--
+ 2023-06-27 [fc0747a]
+ -->
+ <para>
+ Enhance online recovery documentation. (Bo Peng)
+ </para>
+ <para>
+ Mention that 2nd stage of online recovery does not work properly only for multiple pgpool nodes without watchdog enabled.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Regression Tests</title>
+ <itemizedlist>
+ <listitem>
+ <!--
+ 2023-05-22 [29f7861]
+ -->
+ <para>
+ Fix occasional 069.memory_leak_extended test failure. (Tatsuo Ishii)
+ </para>
+ <para>
+ It turned out that reason of the occasional test failure is, pgpool
+ child process is gone before running ps command after pgbench
+ finishes. The cause is a kind mismatch FATAL error, "DISCARD ALL
+ cannot be executed within a pipeline". To fix this, run pgbench in
+ background and get the process size before pgbench finishes.
+ </para>
+ <para>
+ Discussion: <ulink url="https://www.pgpool.net/pipermail/pgpool-hackers/2023-May/004338.html">https://www.pgpool.net/pipermail/pgpool-hackers/2023-May/004338.html</ulink>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </sect2>
+</sect1>
+
<sect1 id="release-4-0-23">
<title>Release 4.0.23</title>
<note>