1<!-- doc/src/sgml/release-3.2.sgml -->
2<!-- See header comment in release.sgml about typical markup -->
3
4<sect1 id="release-3-2-22">
5 <title>リリース 3.2.22</title>
6
7 <note>
8  <title>リリース日</title>
9  <simpara>2017-09-05</simpara>
10 </note>
11
12 <sect2>
13  <title>不具合修正</title>
14
15  <itemizedlist>
16
17   <listitem>
18    <!--
19    2017-08-24 [cb4d863]
20    -->
21    <para>
22     Doc: ロードバランスに関するドキュメントを修正しました。(Yugo Nagata)
23    </para>
24   </listitem>
25
26   <listitem>
27    <!--
28    2017-08-15 [2cd5bd3]
29    -->
30    <para>
31     <function>pool_unread()</function> の不具合を修正しました。(Tatsuo Ishii)
32    </para>
33    <para>
34     <function>pool_unread()</function> が<function>realloc()</function>を呼び出すときに、バッファサイズが更新されませんでした。これにより、メモリ破損や予期しないデータの読み取りが発生する可能性がありました。
35    </para>
36   </listitem>
37
38   <listitem>
39    <!--
40    2017-08-03 [3f9806b]
41    -->
42    <para>
43     <literal>worker</literal>プロセスが間違った DB ノードをフェイルオーバーさせる不具合を修正しました。 (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=303">bug 303</ulink>) (Tatsuo Ishii)
44    </para>
45    <para>
46     <literal>worker</literal>プロセスが間違った DB ノードをフェイルオーバーさせる可能性がありました。原因は、<varname>POLL_CONNECTIO</varname>構造体の<varname>db_node_id</varname>メンバがこのプロセスで初期化されていなかったからです (子プロセスでは適切に初期化されていました)。
47    </para>
48    <para>
49     この問題を解決するには、ノード ID をセットする関数 <function>pool_set_db_node_id()</function>を追加し、<function>make_persistent_db_connection()</function>内で呼び出すように修正しました。
50    </para>
51   </listitem>
52
53   <listitem>
54    <!--
55    2017-07-31 [ea6ea69]
56    -->
57    <para>
58     <command>SET</command>コマンド発行時の不要なトランザクションの開始を修正しました。(Tatsuo Ishii)
59    </para>
60   </listitem>
61
62   <listitem>
63    <!--
64    2017-07-27 [576312c]
65    -->
66    <para>
67     ヘルスチェックアラームを無効にした状態で <function>Failover()</function>関数を実行するように修正しました。(Muhammad Usama)
68    </para>
69    <para>
70     詳細は <ulink url="http://www.pgpool.net/pipermail/pgpool-general/2017-July/005679.html">[pgpool-general: 5621]</ulink> をご参照ください。
71    </para>
72   </listitem>
73
74  </itemizedlist>
75 </sect2>
76</sect1>
77
78<sect1 id="release-3-2-21">
79 <title>リリース 3.2.21</title>
80
81 <note>
82  <title>リリース日</title>
83  <simpara>2017-07-11</simpara>
84 </note>
85
86 <sect2>
87  <title>不具合修正</title>
88
89  <itemizedlist>
90   <listitem>
91    <!--
92    2017-06-24 [242e87a]
93    -->
94    <para>
95     <ulink url="http://www.sraoss.jp/pipermail/pgpool-hackers/2017-June/002390.html">[pgpool-hackers: 2390]</ulink> によって報告されたデーモンモードでの相対パスの問題を修正しました。(Muhammad Usama)
96    </para>
97   </listitem>
98
99   <listitem>
100    <!--
101    2017-06-19 [11b0808]
102    -->
103    <para>
104     <productname>PostgreSQL</productname> 10の変更に合わせて以下の関数名を修正しました。(Tatsuo Ishii)
105    </para>
106    <programlisting>
107     pg_current_wal_location     -> pg_current_wal_lsn
108     pg_last_wal_replay_location -> pg_last_wal_replay_lsn
109    </programlisting>
110   </listitem>
111
112   <listitem>
113    <!--
114    2017-05-31 [69f486f]
115    -->
116    <para>
117     <productname>node.js</productname>を使用する場合に発生するクエリキャッシュのハングアップの問題を修正しました。(Tatsuo Ishii)
118    </para>
119    <para>
120     詳細は<ulink url="http://www.pgpool.net/pipermail/pgpool-general/2017-May/005569.html">[pgpool-general: 5511]</ulink>を参照してください。
121    </para>
122   </listitem>
123
124   <listitem>
125    <!--
126    2017-05-29 [487bf5e]
127    -->
128    <para>
129     <productname>PostgreSQL</productname> 10のストリーミングレプリケーションの遅延チェックに関する変更に合わせて修正しました。(Tatsuo Ishii)
130    </para>
131   </listitem>
132
133   <listitem>
134    <!--
135    2017-05-27 [378f61d]
136    -->
137    <para>
138     クエリキャッシュのメモリリークを修正しました。(Tatsuo Ishii)
139    </para>
140    <para>
141     oidがないクエリ(<command>BEGIN</command>、<command>CHECKPOINT</command>、<command>VACUUM</command>など)の場合キャッシュバッファがクリアされるべきでしたが、されていませんでした。
142    </para>
143   </listitem>
144  </itemizedlist>
145 </sect2>
146</sect1>
147
148<sect1 id="release-3-2-20">
149 <title>リリース 3.2.20</title>
150
151 <note>
152  <title>リリース日</title>
153  <simpara>2017-04-28</simpara>
154 </note>
155
156 <sect2>
157  <title>不具合修正</title>
158
159  <itemizedlist>
160   <listitem>
161    <!--
162    2017-04-12 [0185d33]
163    -->
164    <para>
165     pool_hba.confファイルのリロード時に発生するエラーを修正しました。<ulink url="http://www.pgpool.net/mantisbt/view.php?id=299">(Bug 299)</ulink> (Muhammad Usama)
166    </para>
167   </listitem>
168
169  </itemizedlist>
170
171 </sect2>
172
173</sect1>
174
175<sect1 id="release-3-2-19">
176 <title>リリース 3.2.19</title>
177
178 <note>
179  <title>リリース日</title>
180  <simpara>2017-03-17</simpara>
181 </note>
182
183 <sect2>
184  <title>不具合修正</title>
185
186  <itemizedlist>
187
188   <listitem>
189    <!--
190    2017-03-09 [1ddb7f1]
191    -->
192    <para>
193     <link linkend="PCP-PROMOTE-NODE">pcp_promote_node</link>を使ってノード0の昇格に失敗する不具合を修正しました。(Yugo Nagata)
194    </para>
195    <para>
196     失敗したときのエラーメッセージは以下のとおりです。
197    </para>
198
199    <programlisting>
200     FATAL: invalid pgpool mode for process recovery request
201     DETAIL: specified node is already primary node, can't promote node id 0
202    </programlisting>
203
204    <para>
205     ストリーミングレプリケーションモードでは、<productname>Pgpool-II</productname>がプライマリノードを何らかの理由で「スタンバイ」とみなしていました。たとえば、<productname>Pgpool-II</productname>が起動中で、pg_ctl promoteを手動で実行したとき、<productname>Pgpool-II</productname>はプライマリノードが存在しないと認識します。
206    </para>
207
208    <para>
209     この状態の不一致は、pcp_promote_nodeコマンドによって直されるはずですが、昇格させたいノードがマスターノード(最初のアライブノード)である場合、上記のように失敗しました。
210     失敗した理由は次のとおりです。ステータスを変更する前に、pcp_promote_nodeコマンドがPRIMARY_NODE_IDのノードIDと比較することによって、指定されたノードが既にプライマリであるかどうかをチェックします。ただし、プライマリが存在しない場合<productname>Pgpool-II</productname>のビューでは、PRIMARY_NODE_IDが0に設定されます。これはMASTER_NODE_IDと同じです。したがって、マスタノードを昇格させるように指定する場合、pcp_promote_nodeはこのノードが既にプライマリであるとのエラーを返して終了しました。
211    </para>
212
213    <para>
214     これを修正するには、pcp_promote_nodeは指定したノードがプライマリーノードであるかどうかをチェックするとき、PRIMARY_NODE_IDではなくREAL_PRIMARY_NODE_IDを使うように修正しました。REAL_PRIMARY_NODE_IDはプライマリが存在しない場合、-1に設定されます。
215    </para>
216   </listitem>
217
218   <listitem>
219    <!--
220    2017-02-28 [5b4f78c]
221    -->
222    <para>
223     READMEに最新リリースノートへのリンクを追加しました。(Bo Peng)
224    </para>
225   </listitem>
226
227   <listitem>
228    <!--
229    2017-02-23 [7ed400b]
230    -->
231    <para>
232     特定の場合に、<productname>Pgpool-II</productname>が終了したときに共有メモリセグメントを解放しない不具合を修正しました。
233     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=272">bug 272</ulink>) (Tatsuo Ishii)
234    </para>
235   </listitem>
236
237   <listitem>
238    <!--
239    2017-01-11 [29b61eb]
240    -->
241    <para>
242     シグナルハンドラがpool_log/pool_errorを呼び出さないように修正しました。(Tatsuo Ishii)
243    </para>
244    <para>
245     詳しくは<ulink url="http://www.pgpool.net/pipermail/pgpool-hackers/2016-December/001950.html">[pgpool-hackers: 1950]</ulink>をご参照ください。
246    </para>
247   </listitem>
248
249   <listitem>
250    <!--
251    2017-01-04 [8598d5a]
252    -->
253    <para>
254     特定に場合にwatchdogがデエスカレーションに失敗する不具合を修正しました。
255     (<ulink url="http://www.pgpool.net/mantisbt/view.php?id=249">bug 249</ulink>)(Muhammad Usama)
256    </para>
257
258    <para>
259     WNOHANGオプションなしで<function>waitpid()</function>システムコールを使用するように修正しました。
260    </para>
261   </listitem>
262
263   <listitem>
264    <!--
265    2017-01-04 [bd92a11]
266    -->
267    <para>
268     authentication_timeoutが有効な場合、connection_life_timeが正しく処理されない不具合を修正しました。(Yugo Nagata)
269    </para>
270   </listitem>
271
272   <listitem>
273    <!--
274    2016-12-28 [afebadf]
275    -->
276    <para>
277     クライアント接続直後に発生しうる認証タイムアウトを修正しました。(Yugo Nagata)
278    </para>
279   </listitem>
280
281  </itemizedlist>
282
283 </sect2>
284
285</sect1>
286<sect1 id="release-3-2-18">
287 <!--
288 <title>Release 3.2.18</title>
289 -->
290 <title>リリース 3.2.18</title>
291
292 <note>
293  <!--
294  <title>Release Date</title>
295  -->
296  <title>リリース日</title>
297  <simpara>2016-12-26</simpara>
298 </note>
299
300 <sect2>
301  <!--
302  <title>Bug fixes</title>
303  -->
304  <title>不具合修正</title>
305
306  <itemizedlist>
307
308   <listitem>
309    <!--
310    2016-12-20 [888ac16]
311    -->
312    <para>
313     <!--
314     Fix occasional segfault when query cache is enabled. (Tatsuo Ishii)
315     -->
316     クエリキャッシュが有効になっている場合に、時々発生しうるセグメンテーション違反を修正しました。(bug 263) (Tatsuo Ishii)
317    </para>
318   </listitem>
319
320   <listitem>
321    <!--
322    2016-10-27 [f37c592]
323    -->
324    <para>
325     <!--
326     Do not cancel a query when the query resulted in an error other than in native replication mode. (Tatsuo Ishii)
327     -->
328     ネイティブレプリケーションモード以外の場合、エラーが発生した場合は、クエリをキャンセルしないように修正しました。(Tatsuo Ishii)
329    </para>
330    <para>
331     <!--
332     It was intended to keep the consistency, but there's no point in other
333     than native replication mode.
334     -->
335     本来は一貫性を維持するためにキャンセルされるようになっていましたが、ネイティブレプリケーションモード以外の場合ではキャンセルする必要がないので、修正しました。
336    </para>
337   </listitem>
338
339   <listitem>
340    <!--
341    2016-09-09 [d7a9a98]
342    -->
343    <para>
344     <!--
345     Do not use random() while generating MD5 salt. (Tatsuo Ishii)
346     -->
347     MD5 salt を生成するときに、<function>random()</function> を使用しないように修正しました。(Tatsuo Ishii)
348    </para>
349    <para>
350     <!--
351     random() should not be used in security related applications.  To
352     replace random(), import PostmasterRandom() from PostgreSQL.  Also
353     store current time at the start up of Pgpool-II main process for later
354     use.
355     -->
356     <function>random()</function>関数はセキュリティ関連のアプリケーションで使用すべきではありません。
357     <function>random()</function>の代わりに<productname>PostgreSQL</productname>の<function>PostmasterRandom()</function> 使用するように変更しました。
358    </para>
359   </listitem>
360
361   <listitem>
362    <!--
363    2016-09-06 [891ce0f]
364    -->
365    <para>
366     <!--
367     Don't ignore sync message from frontend when query cache is enabled. (Tatsuo Ishii)
368     -->
369     クエリキャッシュが有効な場合、sync メッセージが廃棄されないよう修正しました。(Tatsuo Ishii)
370    </para>
371   </listitem>
372
373  </itemizedlist>
374
375 </sect2>
376
377</sect1>
378