Author: jstephens
Date: 2007-04-24 04:30:24 +0200 (Tue, 24 Apr 2007)
New Revision: 6099
Log:
Documented fix for Cluster Bug #25688
Updated discussion of circular replication in
mysql-cluster-replication-issues (Thanks, Tomas!)
Added diagrams relating to this discussion (Dia and PNG format)
Added:
trunk/refman-5.1/images/cluster-circular-replication-1.png
trunk/refman-5.1/images/cluster-circular-replication-2.png
trunk/refman-common/cluster-graphics/cluster-circular-replication-1.dia
trunk/refman-common/cluster-graphics/cluster-circular-replication-1.png
trunk/refman-common/cluster-graphics/cluster-circular-replication-2.dia
trunk/refman-common/cluster-graphics/cluster-circular-replication-2.png
trunk/refman-common/images/cluster-circular-replication-1.png
trunk/refman-common/images/cluster-circular-replication-2.png
Modified:
trunk/refman-5.1/Makefile.depends
trunk/refman-5.1/mysql-cluster.xml
trunk/refman-5.1/news-5.1.xml
Property changes on: trunk/refman-5.1/images/cluster-circular-replication-1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Property changes on: trunk/refman-5.1/images/cluster-circular-replication-2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Property changes on: trunk/refman-common/cluster-graphics/cluster-circular-replication-1.dia
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Property changes on: trunk/refman-common/cluster-graphics/cluster-circular-replication-1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Property changes on: trunk/refman-common/cluster-graphics/cluster-circular-replication-2.dia
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Property changes on: trunk/refman-common/cluster-graphics/cluster-circular-replication-2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Property changes on: trunk/refman-common/images/cluster-circular-replication-1.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Property changes on: trunk/refman-common/images/cluster-circular-replication-2.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/refman-5.1/Makefile.depends
===================================================================
--- trunk/refman-5.1/Makefile.depends 2007-04-24 01:44:45 UTC (rev 6098)
+++ trunk/refman-5.1/Makefile.depends 2007-04-24 02:30:24 UTC (rev 6099)
Changed blocks: 4, Lines Added: 8, Lines Deleted: 0; 1521 bytes
@@ -572,6 +572,8 @@
faqs.xml \
images/PSEArch.png \
images/blackhole-1.png \
+ images/cluster-circular-replication-1.png \
+ images/cluster-circular-replication-2.png \
images/cluster-components-1.png \
images/cluster-replication-binlog-injector.png \
images/cluster-replication-overview.png \
@@ -676,6 +678,8 @@
../refman-common/replication-graphics/submaster-performance.png \
images/PSEArch.png \
images/blackhole-1.png \
+ images/cluster-circular-replication-1.png \
+ images/cluster-circular-replication-2.png \
images/cluster-components-1.png \
images/cluster-replication-binlog-injector.png \
images/cluster-replication-overview.png \
@@ -696,6 +700,8 @@
../common/phrases.ent \
../refman-common/urls.ent \
all-entities.ent \
+ images/cluster-circular-replication-1.png \
+ images/cluster-circular-replication-2.png \
images/cluster-components-1.png \
images/cluster-replication-binlog-injector.png \
images/cluster-replication-overview.png \
@@ -707,6 +713,8 @@
images/rolling-restarts.png \
versions.ent
mysql_cluster_IMAGES = \
+ images/cluster-circular-replication-1.png \
+ images/cluster-circular-replication-2.png \
images/cluster-components-1.png \
images/cluster-replication-binlog-injector.png \
images/cluster-replication-overview.png \
Added: trunk/refman-5.1/images/cluster-circular-replication-1.png
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 347 bytes
Added: trunk/refman-5.1/images/cluster-circular-replication-2.png
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 347 bytes
Modified: trunk/refman-5.1/mysql-cluster.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster.xml 2007-04-24 01:44:45 UTC (rev 6098)
+++ trunk/refman-5.1/mysql-cluster.xml 2007-04-24 02:30:24 UTC (rev 6099)
Changed blocks: 1, Lines Added: 76, Lines Deleted: 15; 5242 bytes
@@ -17227,24 +17227,85 @@
<listitem>
<para>
- Circular replication is not supported for Cluster
- replication. This is because all log events created in a
- particular MySQL Cluster are wrongly tagged with the server
- id of the MySQL server used as master and not with the
- server id of the originating server.
+ <emphasis role="bold">Circular replication</emphasis>:
</para>
-
+
<para>
- Because of this misidentification, replicating between MySQL
- servers <emphasis role="bold">A→B→A</emphasis>,
- where <emphasis>B</emphasis> is any MySQL server connected
- to a cluster <emphasis>A</emphasis>, causes the cluster
- table changes (log entries) of <emphasis>A</emphasis> to
- <quote>lose</quote> the originating server's identifier in
- the log from <emphasis>B</emphasis> to
- <emphasis>A</emphasis>. This causes the changes to be
- reapplied on server <emphasis>A</emphasis>.
+ Prior to MySQL 5.1.18, circular replication was not
+ supported with MySQL Cluster replication, due to the fact
+ that all log events created in a particular MySQL Cluster
+ were wrongly tagged with the server ID of the MySQL server
+ used as master and not with the server ID of the originating
+ server.
</para>
+
+ <para>
+ Beginning with MySQL 5.1.18, this limitation is lifted, as
+ discussed in the next few paragraphs, in which we consider
+ the example of a replication setup involving three MySQL
+ Clusters numbered 1, 2, and 3, in which Cluster 1 acts as
+ the replication master for Cluster 2, Cluster 2 acts as the
+ master for Cluster 3, and Cluster 3 acts as the master for
+ Cluster 1. Each cluster has two SQL nodes, with SQL nodes A
+ and B belonging to Cluster 1, SQL nodes C and D belonging to
+ Cluster 2, and SQL nodes E and F belonging to Cluster 3.
+ </para>
+
+ <para>
+ Circular replication using these clusters is supported as
+ long as:
+ <itemizedlist><listitem><para>
+ the SQL nodes on all masters and slaves are the
+ same</para></listitem><listitem><para>All SQL nodes acting
+ as replication masters and slaves are started using the
+ <option>--log-slave-updates</option> option</para></listitem></itemizedlist>
+ This type of circular replication setup is shown in the following diagram:
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/cluster-circular-replication-1.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase lang="en">Cluster circular replication scheme in
+ which all master SQL nodes are also slaves.</phrase>
+ </textobject>
+ </mediaobject>
+
+ In this scenario, SQL node A in Cluster 1 replicates to SQL
+ node C in Cluster 2; SQL node C replicates to SQL node E in
+ Cluster 3; SQL node E replicates to SQL node A. In other
+ words, the replication line (indicated by the red arrows in
+ the diagram) directly connects all SQL nodes used as
+ replication masters and slaves.
+ </para>
+
+ <para>
+ It should also be possible to set up circular replication in which
+ not all master SQL nodes are also slaves, as shown here:
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/cluster-circular-replication-2.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase lang="en">Cluster circular replication scheme in
+ which all master SQL nodes are not also necessarily slaves.</phrase>
+ </textobject>
+
+ </mediaobject>
+
+ In this case, different SQL nodes in each cluster are used
+ as replication masters and slaves. However, you must
+ <emphasis>not</emphasis> start any of the SQL nodes using
+ <option>--log-slave-updates</option> (see the
+ <link linkend="optvar_log-slave-updates">description of this
+ option</link> for more information). This type of circular
+ replication scheme for MySQL Cluster, in which the line of
+ replication (again indicated by the red arrows in the
+ diagram) is discontinuous, should be possible, but it should
+ be noted that it has not yet been thoroughly tested and
+ must therefore still be considered experimental.
+ </para>
</listitem>
<listitem>
Modified: trunk/refman-5.1/news-5.1.xml
===================================================================
--- trunk/refman-5.1/news-5.1.xml 2007-04-24 01:44:45 UTC (rev 6098)
+++ trunk/refman-5.1/news-5.1.xml 2007-04-24 02:30:24 UTC (rev 6099)
Changed blocks: 1, Lines Added: 10, Lines Deleted: 0; 716 bytes
@@ -156,6 +156,16 @@
<xref linkend="mysql-cluster-replication-schema"/>.
</para>
</listitem>
+
+ <listitem>
+ <para>
+ <literal>NDB Cluster</literal> (Replication): Some
+ circular replication setups are now supported for MySQL
+ Cluster. See
+ <xref linkend="mysql-cluster-replication-issues"/>, for
+ detailed information. (Bug #25688)
+ </para>
+ </listitem>
</itemizedlist>
Added: trunk/refman-common/cluster-graphics/cluster-circular-replication-1.dia
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 373 bytes
Added: trunk/refman-common/cluster-graphics/cluster-circular-replication-1.png
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 373 bytes
Added: trunk/refman-common/cluster-graphics/cluster-circular-replication-2.dia
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 373 bytes
Added: trunk/refman-common/cluster-graphics/cluster-circular-replication-2.png
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 373 bytes
Added: trunk/refman-common/images/cluster-circular-replication-1.png
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 353 bytes
Added: trunk/refman-common/images/cluster-circular-replication-2.png
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 353 bytes
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r6099 - in trunk: refman-5.1 refman-5.1/images refman-common/cluster-graphics refman-common/images | jon | 24 Apr |