List:Commits« Previous MessageNext Message »
From:jon Date:February 6 2008 12:54pm
Subject:svn commit - mysqldoc@docsrva: r9717 - in trunk: dynamic-docs/changelog dynamic-docs/command-optvars refman-5.1 refman-6.0
View as plain text  
Author: jstephens
Date: 2008-02-06 13:54:28 +0100 (Wed, 06 Feb 2008)
New Revision: 9717

Log:

Documented RBR bugfixes:

  Bug #27779, Bug #31552, Bug #31583, Bug #31609, Bug #32468

Documented new slave_exec_mode system variable (Thanks, Mats!)



Modified:
   trunk/dynamic-docs/changelog/mysqld-1.xml
   trunk/dynamic-docs/command-optvars/mysqld.xml
   trunk/refman-5.1/dba-core.xml
   trunk/refman-5.1/mysql-cluster-replication.xml
   trunk/refman-6.0/dba-core.xml
   trunk/refman-6.0/mysql-cluster-replication.xml


Modified: trunk/dynamic-docs/changelog/mysqld-1.xml
===================================================================
--- trunk/dynamic-docs/changelog/mysqld-1.xml	2008-02-06 10:46:08 UTC (rev 9716)
+++ trunk/dynamic-docs/changelog/mysqld-1.xml	2008-02-06 12:54:28 UTC (rev 9717)
Changed blocks: 1, Lines Added: 161, Lines Deleted: 0; 3849 bytes

@@ -9,6 +9,167 @@
   <logentry entrytype="feature">
 
     <tags>
+      <highlight type="replication"/>
+      <manual type="RBR"/>
+    </tags>
+
+    <bugs>
+      <fixes bugid="31609"/>
+    </bugs>
+
+    <versions>
+      <version ver="5.1.24"/>
+      <version ver="6.0.5"/>
+    </versions>
+
+    <message>
+
+      <para>
+        Introduced the <literal>slave_exec_mode</literal> system
+        variable to control whether idempotent or strict mode is used
+        for replication conflict resolution. Idempotent mode suppresses
+        duplicate-key, no-key-found, and some other errors, and is
+        needed for circular replication, multi-master replication, and
+        some other complex replication setups when using MySQL Cluster.
+        Strict mode is the default.
+      </para>
+
+    </message>
+
+  </logentry>
+
+  <logentry entrytype="bug">
+
+    <tags>
+      <highlight type="replication"/>
+      <manual type="RBR"/>
+      <manual type="binlog"/>
+    </tags>
+
+    <bugs>
+      <fixes bugid="27779"/>
+      <introducedby bugid="22583"/>
+    </bugs>
+
+    <versions>
+      <version ver="5.1.24"/>
+      <version ver="6.0.5"/>
+    </versions>
+
+    <message>
+
+      <para>
+        Slaves running MySQL 5.1.18 and later could not read binary logs
+        from older versions of the server.
+      </para>
+
+    </message>
+
+  </logentry>
+
+  <logentry entrytype="bug">
+
+    <tags>
+      <highlight type="replication"/>
+      <manual type="RBR"/>
+      <manual type="upgrade"/>
+    </tags>
+
+    <bugs>
+      <fixes bugid="31583"/>
+      <introducedby bugid="21842"/>
+    </bugs>
+
+    <versions>
+      <version ver="5.1.24"/>
+      <version ver="6.0.5"/>
+    </versions>
+
+    <message ver="5.1.24">
+
+      <para>
+        When using row-based replication from a master running MySQL
+        5.1.21 or earlier to a slave running 5.1.22 or later, updates of
+        integer columns failed on the slave with <errortext>Error in
+        Unknown event: row application failed</errortext>.
+      </para>
+
+    </message>
+
+    <message ver="6.0.5">
+
+      <para>
+        When using row-based replication from a master running MySQL
+        6.0.3 or earlier to a slave running 6.0.4 or later, updates of
+        integer columns failed on the slave with <errortext>Error in
+        Unknown event: row application failed</errortext>.
+      </para>
+
+    </message>
+
+  </logentry>
+
+  <logentry entrytype="bug">
+
+    <tags>
+      <highlight type="replication"/>
+      <manual type="RBR"/>
+      <manual type="InnoDB"/>
+    </tags>
+
+    <bugs>
+      <fixes bugid="32468"/>
+    </bugs>
+
+    <versions>
+      <version ver="5.0.24"/>
+      <version ver="6.0.5"/>
+    </versions>
+
+    <message>
+
+      <para>
+        When using row-based replication, deletes from a table with a
+        foreign key constraint failed on the slave.
+      </para>
+
+    </message>
+
+  </logentry>
+
+  <logentry entrytype="bug">
+
+    <tags>
+      <highlight type="replication"/>
+      <manual type="RBR"/>
+      <manual type="PRIMARY KEY"/>
+    </tags>
+
+    <bugs>
+      <fixes bugid="31552"/>
+    </bugs>
+
+    <versions>
+      <version ver="5.1.24"/>
+      <version ver="6.0.5"/>
+    </versions>
+
+    <message>
+
+      <para>
+        When using row-based replication, the slave stopped when
+        attempting to delete non-existent rows from a slave table
+        without a primary key. In addition, no error was reported when
+        this occurred.
+      </para>
+
+    </message>
+
+  </logentry>
+
+  <logentry entrytype="feature">
+
+    <tags>
       <highlight type="cluster"/>
       <manual type="OPTIMIZE TABLE"/>
     </tags>


Modified: trunk/dynamic-docs/command-optvars/mysqld.xml
===================================================================
--- trunk/dynamic-docs/command-optvars/mysqld.xml	2008-02-06 10:46:08 UTC (rev 9716)
+++ trunk/dynamic-docs/command-optvars/mysqld.xml	2008-02-06 12:54:28 UTC (rev 9717)
Changed blocks: 4, Lines Added: 36, Lines Deleted: 4; 1814 bytes

@@ -4362,6 +4362,38 @@
 
   </mysqloption>
 
+  <mysqloption section="replication" id="slave_exec_mode">
+
+    <xrefto id="option_mysqld_slave_exec_mode"/>
+
+    <name>slave_exec_mode</name>
+
+    <shortdescription lang="en">
+      Allows for switching between idempotent mode (key and some other
+      errors suppressed) and strict mode; strict mode is the default
+    </shortdescription>
+
+    <types>
+      <vartype class="system" isdynamic="yes" scope="global"/>
+    </types>
+
+    <values vartype="enumeration" platform="all">
+
+      <choice value="IDEMPOTENT"></choice>
+      <choice value="STRICT"></choice>
+      <value default="STRICT"/>
+
+    </values>
+
+    <versions>
+      <manual version="5.1"/>
+      <introduced version="5.1.24"/>
+      <manual version="6.0"/>
+      <introduced version="6.0.5"/>
+    </versions>
+
+  </mysqloption>
+
   <mysqloption section="replication" id="Slave_heartbeat_period">
 
     <xrefto id="option_mysqld_Slave_heartbeat_period"/>

@@ -10665,7 +10697,7 @@
     </versions>
 
   </mysqloption>
-  
+
   <mysqloption section="security" id="local_infile">
 
     <xrefto id="option_mysqld_local_infile"/>

@@ -12285,7 +12317,7 @@
     </versions>
 
   </mysqloption>
- 
+
   <mysqloption section="server" id="max_prepared_stmt_count">
 
     <xrefto id="option_mysqld_max_prepared_stmt_count"/>

@@ -18328,8 +18360,8 @@
       <manual version="6.0"/>
     </versions>
 
-  </mysqloption>  
-    
+  </mysqloption>
+
   <mysqloption section="server" id="prepared_stmt_count">
 
     <xrefto id="option_mysqld_prepared_stmt_count"/>


Modified: trunk/refman-5.1/dba-core.xml
===================================================================
--- trunk/refman-5.1/dba-core.xml	2008-02-06 10:46:08 UTC (rev 9716)
+++ trunk/refman-5.1/dba-core.xml	2008-02-06 12:54:28 UTC (rev 9717)
Changed blocks: 6, Lines Added: 29, Lines Deleted: 21; 3808 bytes

@@ -6927,9 +6927,9 @@
           <para>
             The current number of prepared statements. (The maximum
             number of statements is given by the
-            <literal>max_prepared_stmt_count</literal> system
-            variable.) This variable was added in MySQL 5.1.10. In MySQL
-            5.1.14, it was converted to the global
+            <literal>max_prepared_stmt_count</literal> system variable.)
+            This variable was added in MySQL 5.1.10. In MySQL 5.1.14, it
+            was converted to the global
             <literal>Prepared_stmt_count</literal> status variable.
           </para>
         </listitem>

@@ -7440,6 +7440,27 @@
         </listitem>
 
         <listitem>
+          <para id="option_mysqld_slave_exec_mode">
+            <literal>slave_exec_mode</literal>
+          </para>
+
+          <para condition="dynamic:optvar:item" role="5.1:mysqld:slave_exec_mode"/>
+
+          <para>
+            Controls whether <literal>IDEMPOTENT</literal> or
+            <literal>STRICT</literal> mode is used in replication
+            conflict resolution and error checking.
+            <literal>IDEMPOTENT</literal> mode causes suppression of
+            some errors, including duplicate-key and no-key-found
+            errors. Beginning with MySQL 5.1.24, this mode should be
+            employed in multi-master replication, circular replication,
+            and some other special replication scenarios.
+            <literal>STRICT</literal> mode is the default, and is
+            suitable for most other cases.
+          </para>
+        </listitem>
+
+        <listitem>
           <para id="option_mysqld_slave_load_tmpdir">
             <literal>slave_load_tmpdir</literal>
           </para>

@@ -8252,18 +8273,6 @@
 
       </formalpara>
 
-      <formalpara role="mnmas">
-
-        <title>MySQL Enterprise</title>
-
-        <para>
-          Expert use of server system variables is part of the service
-          offered by the MySQL Enterprise Monitor. To subscribe see
-          <ulink url="&base-url-enterprise;advisors.html"/>.
-        </para>
-
-      </formalpara>
-
     </section>
 
     <section id="using-system-variables">

@@ -9188,9 +9197,8 @@
             command set used in the network layer. In other words, their
             values increase whenever prepared statement API calls such
             as <command>mysql_stmt_prepare()</command>,
-            <command>mysql_stmt_execute()</command>, and so forth
-            are executed. However,
-            <literal>Com_stmt_prepare</literal>,
+            <command>mysql_stmt_execute()</command>, and so forth are
+            executed. However, <literal>Com_stmt_prepare</literal>,
             <literal>Com_stmt_execute</literal> and
             <literal>Com_stmt_close</literal> also increase for
             <literal>PREPARE</literal>, <literal>EXECUTE</literal>, or

@@ -10228,8 +10236,8 @@
           <para>
             The current number of prepared statements. (The maximum
             number of statements is given by the
-            <literal>max_prepared_stmt_count</literal> system
-            variable.) This variable was added in MySQL 5.1.14.
+            <literal>max_prepared_stmt_count</literal> system variable.)
+            This variable was added in MySQL 5.1.14.
           </para>
         </listitem>
 

@@ -10403,7 +10411,7 @@
             
             &mccge-warning-begin;
             
-            <para id="option_mysqld_Slave_heartbeat_period">
+          <para id="option_mysqld_Slave_heartbeat_period">
             <literal>Slave_heartbeat_period</literal>
           </para>
 


Modified: trunk/refman-5.1/mysql-cluster-replication.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster-replication.xml	2008-02-06 10:46:08 UTC (rev 9716)
+++ trunk/refman-5.1/mysql-cluster-replication.xml	2008-02-06 12:54:28 UTC (rev 9717)
Changed blocks: 1, Lines Added: 23, Lines Deleted: 0; 1302 bytes

@@ -455,6 +455,29 @@
           be noted that it has not yet been thoroughly tested and must
           therefore still be considered experimental.
         </para>
+
+        <important>
+          <para>
+            Beginning with MySQL 5.1.24, you should execute the
+            following statement before starting circular replication:
+
+<programlisting>
+mysql&gt; <userinput>SET GLOBAL SLAVE_EXEC_MODE = 'IDEMPOTENT';</userinput>
+</programlisting>
+
+            This is necessary to suppress duplicate-key and other errors
+            that otherwise break circular replication of MySQL Cluster.
+            <literal>IDEMPOTENT</literal> mode is also required for
+            multi-master replication when using MySQL Cluster. (Bug
+            #31609)
+          </para>
+
+          <para>
+            See
+            <link linkend="option_mysqld_slave_exec_mode"><literal>Slave_exec_mode</literal></link>,
+            for more information.
+          </para>
+        </important>
       </listitem>
 
       <listitem>


Modified: trunk/refman-6.0/dba-core.xml
===================================================================
--- trunk/refman-6.0/dba-core.xml	2008-02-06 10:46:08 UTC (rev 9716)
+++ trunk/refman-6.0/dba-core.xml	2008-02-06 12:54:28 UTC (rev 9717)
Changed blocks: 1, Lines Added: 21, Lines Deleted: 0; 1325 bytes

@@ -7159,6 +7159,27 @@
         </listitem>
 
         <listitem>
+          <para id="option_mysqld_slave_exec_mode">
+            <literal>Slave_exec_mode</literal>
+          </para>
+
+          <para condition="dynamic:optvar:item" role="6.0:mysqld:slave_exec_mode"/>
+
+          <para>
+            Controls whether <literal>IDEMPOTENT</literal> or
+            <literal>STRICT</literal> mode is used in replication
+            conflict resolution and error checking.
+            <literal>IDEMPOTENT</literal> mode causes suppression of
+            some errors, including duplicate-key and no-key-found
+            errors. Beginning with MySQL 6.0.5, this mode should be
+            employed in multi-master replication, circular replication,
+            and some other special replication scenarios.
+            <literal>STRICT</literal> mode is the default, and is
+            suitable for most other cases.
+          </para>
+        </listitem>
+
+        <listitem>
           <para id="option_mysqld_slave_load_tmpdir">
             <literal>slave_load_tmpdir</literal>
           </para>


Modified: trunk/refman-6.0/mysql-cluster-replication.xml
===================================================================
--- trunk/refman-6.0/mysql-cluster-replication.xml	2008-02-06 10:46:08 UTC (rev 9716)
+++ trunk/refman-6.0/mysql-cluster-replication.xml	2008-02-06 12:54:28 UTC (rev 9717)
Changed blocks: 1, Lines Added: 23, Lines Deleted: 0; 1301 bytes

@@ -461,6 +461,29 @@
           be noted that it has not yet been thoroughly tested and must
           therefore still be considered experimental.
         </para>
+
+        <important>
+          <para>
+            Beginning with MySQL 6.0.5, you should execute the following
+            statement before starting circular replication:
+
+<programlisting>
+mysql&gt; <userinput>SET GLOBAL SLAVE_EXEC_MODE = 'IDEMPOTENT';</userinput>
+</programlisting>
+
+            This is necessary to suppress duplicate-key and other errors
+            that otherwise break circular replication of MySQL Cluster.
+            <literal>IDEMPOTENT</literal> mode is also required for
+            multi-master replication when using MySQL Cluster. (Bug
+            #31609)
+          </para>
+
+          <para>
+            See
+            <link linkend="option_mysqld_slave_exec_mode"><literal>Slave_exec_mode</literal></link>,
+            for more information.
+          </para>
+        </important>
       </listitem>
 
       <listitem>


Thread
svn commit - mysqldoc@docsrva: r9717 - in trunk: dynamic-docs/changelog dynamic-docs/command-optvars refman-5.1 refman-6.0jon6 Feb