Doc: add release note entry for enable_consensus_with_half_votes.
authorTatsuo Ishii <ishii@sraoss.co.jp>
Wed, 4 Sep 2019 05:53:07 +0000 (14:53 +0900)
committerTatsuo Ishii <ishii@sraoss.co.jp>
Wed, 4 Sep 2019 05:53:07 +0000 (14:53 +0900)
Also add description of enable_consensus_with_half_votes to Japanese
watchdog doc.

doc.ja/src/sgml/release-4.1.sgml
doc.ja/src/sgml/watchdog.sgml
doc/src/sgml/release-4.1.sgml

index fe946b719ff942e53c9beddbe5d3b83f08009840..26074a06022dbf5d5ace539783ee5bacea756eb1 100644 (file)
   </itemizedlist>
  </sect2>
 
- <sect2>
+ <sect2 id="migration-to-version-4-1">
 <!--
   <title>Migration to Version 4.1</title>
 -->
     </para>
    </listitem>
 
+   <listitem>
+    <!--
+    2019-08-29 [69419ac4]
+    -->
+    <para>
+     多数決ルールを設定する<xref linkend="guc-enable-consensus-with-half-votes">パラメータを追加しました。 (Muhammd Usama, Tatsuo Ishii)
+    </para>
+    <para>
+     これは、偶数(すなわち、2, 4, 6...) watchdogクラスタにおけるクォーラムの存在および多数決の決定における振る舞いを変更します。
+     奇数のクラスタ(3, 5, 7...)は影響を受けません。
+     このパラメータがオフ(デフォルトです)の場合、2ノードのwatchdogクラスタは、クォーラムを持つためには2ノードの両方が生存している必要があります。
+     クォーラムが存在しないと、1) VIPが失われます 2) フェイルオーバスクリプトが実行されません 3) watchdogのマスターが存在しなくなります。
+     特に#2は、既存の<productname>PostgreSQL</productname>がダウンしても新しいプライマリが存在しなくなるので、困ったことになるでしょう。
+     おそらく2ノードのwatchdogクラスタユーザはi、このパラメータをオンにして、今までと同様に振る舞まうようにしたいでしょう。
+     一方4ノード以上の偶数watchdogクラスタユーザはこのパラメータがオフであることにメリットがあります。
+     なぜなら、半分のwatchdogノードがダウンしてsplit brainになる可能性を防ぐことができるからです。
+    </para>
+   </listitem>
+
    <listitem>
     <!--
     2019-07-02 [d86c71d1]
index 26f54742428cf9c70415d417adbb00cd05dada61..2498a9f3d28e0de5886d53d3e17fa68434a2bcef 100644 (file)
     </listitem>
    </varlistentry>
 
+   <varlistentry id="guc-enable-consensus-with-half-votes" xreflabel="enable_consensus_with_half_votes">
+    <term><varname>enable_consensus_with_half_votes</varname> (<type>boolean</type>)
+     <indexterm>
+      <primary><varname>cenable_consensus_with_half_votes</varname>設定パラメータ</primary>
+     </indexterm>
+    </term>
+    <listitem>
+     <para>
+      このパラメータは<productname>Pgpool-II</productname>が、クォーラムとフェイルオーバにおける合意を解決する際に、どのように多数決ルールにおける計算を行うかを設定します。
+     </para>
+     <para>
+      このパラメータがオンなら、クォーラムとフェイルオーバの合意のために、全体のうち半数の投票だけでよくなります。
+      そうでなければ、全体のうち少なくとも半数に加えて1票の投票が必要になります。
+      フェイルオーバにおいては、これは<xref linkend="guc-failover-require-consensus">と同期して動作します。
+      クォーラムの存在決定、フェイルオーバにおける合意形成の両方において、watchdogクラスタが偶数の<productname>Pgpool-II</productname>ノードから構成されている場合にのみこのパラメータは効果があります。
+      参加者が奇数のwatchdogクラスタにおける多数決決定の際には、このパラメータの設定値は影響しません。
+     </para>
+     <para>
+      たとえば、このパラメータがオンのときは、2ノードのwatchdogクラスタではクォーラムが存在するためには一つの<productname>Pgpool-II</productname>ノードが生きている必要があります。
+      このパラメータがオフのときは、2ノードのwatchdogクラスタではクォーラムが存在するためには2つの<productname>Pgpool-II</productname>ノードが生きている必要があります。
+     </para>
+     <para>
+      このパラメータがオンのときは、4ノードのwatchdogクラスタではクォーラムが存在するためには2つの<productname>Pgpool-II</productname>ノードが生きている必要があります。
+      このパラメータがオフのときは、3ノードのwatchdogクラスタではクォーラムが存在するためには2つの<productname>Pgpool-II</productname>ノードが生きている必要があります。
+     </para>
+     <para>
+      このパラメータがオンのときは、split-brainが発生するリスクがあることに注意してください。
+      たとえば、ノードA, B, C, Dからなる4ノードのクラスタでは、(A, B)と(C, D)の分断された2つのネットワークになる可能性があります。
+      (A, B)と(C, D)にとっては、それぞれ生きた2つのノードが存在するので、クォーラムは依然として存在します。
+      各々のグループはそれぞれのマスタwatchdogを選び、これはすなわちsplit-brainです。
+     </para>
+     <para>
+      デフォルト値はオフです。
+     </para>
+     <para>
+      <varname>enable_consensus_with_half_votes</varname>は<productname>Pgpool-II</productname><emphasis>V4.1</emphasis>よりも前には存在しません。
+      以前のバージョンは、あたかもこのパラメータがオンであるかのように動作します。
+     </para>
+     <para>
+      このパラメータは、サーバの起動時にのみ設定できます。
+     </para>
+    </listitem>
+   </varlistentry>
+
   </variablelist>
  </sect2>
 
index a871b0e5beba2540c4f789cecad7021247d8332b..2c532fee84123abb7d2a29778b1e6e74a1bad67a 100644 (file)
@@ -81,7 +81,7 @@
   </itemizedlist>
  </sect2>
 
- <sect2>
+ <sect2 id="migration-to-version-4-1">
   <title>Migration to Version 4.1</title>
   <para>
    Version 4.1 contains some changes that may affect compatibility
     </para>
    </listitem>
 
+   <listitem>
+    <!--
+    2019-08-29 [69419ac4]
+    -->
+    <para>
+     Add parameter <xref
+     linkend="guc-enable-consensus-with-half-votes"> to configure
+     majority rule calculations. (Muhammd Usama, Tatsuo Ishii)
+    </para>
+    <para>
+     This changes the behavior of the decision of quorum existence and
+     failover consensus on even number (i.e. 2, 4, 6...) of watchdog
+     clusters. Odd number of clusters (3, 5, 7...) are not
+     affected. When this parameter is off (the default), a 2 node
+     watchdog cluster needs to have both 2 nodes are alive to have a
+     quorum. If the quorum does not exist and 1 node goes down, then
+     1) VIP will be lost, 2) failover srcript is not executed and 3)
+     no watchdog master exists. Especially #2 could be troublesome
+     because no new primary <productname>PostgreSQL</productname>
+     exists if existing primary goes down. Probably 2 node watchdog
+     cluster users want to turn on this parameter to keep the existing
+     behavior. On the other hand 4 or more even number of watchdog
+     cluster users will benefit from this parameter is off because now
+     it prevents possible split brain when a half of watchdog nodes go
+     down.
+    </para>
+   </listitem>
+
    <listitem>
     <!--
     2019-07-02 [d86c71d1]
     </para>
    </listitem>
 
+   <listitem>
+    <!--
+    2019-08-29 [69419ac4]
+    -->
+    <para>
+     Add parameter <xref
+     linkend="guc-enable-consensus-with-half-votes"> to configure
+     majority rule calculations. (Muhammd Usama, Tatsuo Ishii)
+    </para>
+    <para>
+     Pgpool-II takes the decision of quorum existence and failover
+     consensus after receiving the exact 50% of votes when the
+     watchdog cluster is configured with an even number of nodes. With
+     <xref linkend="guc-enable-consensus-with-half-votes"> parameter,
+     users can tell <productname>Pgpool-II</productname>, whether the
+     distributed consensus in an even number of nodes cluster requires
+     (n/2) or ((n/2) +1) votes to decide the majority.  Odd number of
+     clusters (3, 5, 7...) are not affected. Extra caution is needed
+     for 2 node watchdog cluster users. See <xref
+     linkend="migration-to-version-4-1"> for more details.
+    </para>
+   </listitem>
+
    <listitem>
     <!--
     2019-01-27 [f03ebdba]