Author: jstephens
Date: 2009-07-07 09:43:41 +0200 (Tue, 07 Jul 2009)
New Revision: 15602
Log:
Documented fixes for Cluster bugs:
Bug #45053, BUg #45917, Bug #45921
New AutoReconnect configuration parameter, new NDBAPI methods (Bug #45921)
Warning about DML and 6.3->7.0 upgrades (Bug #45917)
Rebuilt dependencies
Modified:
trunk/dynamic-docs/changelog/mysqld-1.xml
trunk/ndbapi/class-ndb-cluster-connection.xml
trunk/ndbapi/images/published/Ndb-cluster-connection-class.png
trunk/ndbapi/images/source/xmi/Ndb-cluster-connection.xmi.tgz
trunk/refman-5.1/mysql-cluster-configuration.xml
trunk/refman-5.1/mysql-cluster-upgrade-downgrade.xml
trunk/refman-5.4/Makefile.depends
Modified: trunk/dynamic-docs/changelog/mysqld-1.xml
===================================================================
--- trunk/dynamic-docs/changelog/mysqld-1.xml 2009-07-07 02:19:06 UTC (rev 15601)
+++ trunk/dynamic-docs/changelog/mysqld-1.xml 2009-07-07 07:43:41 UTC (rev 15602)
Changed blocks: 1, Lines Added: 102, Lines Deleted: 0; 2820 bytes
@@ -6,6 +6,108 @@
]>
<changelog>
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="AutoReconnect"/>
+ <manual type="mysqld"/>
+ <manual type="Ndb_cluster_connection"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="45921"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.35-ndb-6.3.26"/>
+ <version ver="5.1.35-ndb-7.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The <literal>AutoReconnect</literal> configuration parameter for
+ API nodes (including SQL nodes) has been added. This is intended
+ to prevent API nodes from re-using allocated node IDs during
+ cluster restarts. For more information, see
+ <xref linkend="mysql-cluster-api-definition"/>.
+ </para>
+
+ <para>
+ This fix also introduces two new methods of the
+ <literal>Ndb_cluster_connection</literal> class in the NDB API.
+ For more information, see
+ <xref linkend="class-ndb-cluster-connection-set-auto-reconnect"/>,
+ and
+ <xref linkend="class-ndb-cluster-connection-get-auto-reconnect"/>.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="upgrades"/>
+ <manual type="DML statements"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="45917"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.35-ndb-7.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ DML statements run during an upgrade from MySQL Cluster NDB 6.3
+ to NDB 7.0 were not handled correctly.
+ </para>
+
+ </message>
+
+ </logentry>
+
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="cluster"/>
+ <manual type="VARCHAR"/>
+ <manual type="utf8_unicode_ci"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="45053"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.1.35-ndb-6.2.19"/>
+ <version ver="5.1.35-ndb-6.3.26"/>
+ <version ver="5.1.35-ndb-7.0.7"/>
+ </versions>
+
+ <message>
+
+ <para>
+ Problems could arise when using
+ <literal role="type" condition="char">VARCHAR</literal> columns
+ whose size was greater than 341 characters and which used the
+ <literal>utf8_unicode_ci</literal> collation. In some cases,
+ this combination of conditions could cause certain queries and
+ <literal role="stmt">OPTIMIZE TABLE</literal> statements to
+ crash <command>mysqld</command>.
+ </para>
+
+ </message>
+
+ </logentry>
+
<logentry entrytype="feature">
<tags>
Modified: trunk/ndbapi/class-ndb-cluster-connection.xml
===================================================================
--- trunk/ndbapi/class-ndb-cluster-connection.xml 2009-07-07 02:19:06 UTC (rev 15601)
+++ trunk/ndbapi/class-ndb-cluster-connection.xml 2009-07-07 07:43:41 UTC (rev 15602)
Changed blocks: 3, Lines Added: 188, Lines Deleted: 1; 6007 bytes
@@ -246,6 +246,20 @@
objects.
</para></entry>
</row>
+ <row>
+ <entry><literal><link linkend="class-ndb-cluster-connection-set-auto-reconnect">set_auto_reconnect()</link></literal></entry>
+ <entry><para>
+ Enables or disables auto-reconnection of API nodes using
+ this <literal>Ndb_cluster_connection</literal>.
+ </para></entry>
+ </row>
+ <row>
+ <entry><literal><link linkend="class-ndb-cluster-connection-get-auto-reconnect">get_auto_reconnect()</link></literal></entry>
+ <entry><para>
+ Gets the auto-reconnection setting for API nodes using
+ this <literal>Ndb_cluster_connection</literal>.
+ </para></entry>
+ </row>
</tbody>
</tgroup>
</informaltable>
@@ -266,7 +280,7 @@
<mediaobject>
<imageobject>
- <imagedata contentwidth="514" contentdepth="207" fileref="images/published/Ndb-cluster-connection-class.png" format="PNG"/>
+ <imagedata contentwidth="300" contentdepth="200" fileref="images/published/Ndb-cluster-connection-class.png" format="PNG"/>
</imageobject>
<textobject>
<phrase lang="en">Public methods of the
@@ -1134,6 +1148,179 @@
</section>
+ <section id="class-ndb-cluster-connection-set-auto-reconnect">
+
+ <title><literal>Ndb_cluster_connection::set_auto_reconnect()</literal></title>
+
+ <indexterm>
+ <primary>Ndb_cluster_connection::set_auto_reconnect()</primary>
+ </indexterm>
+
+ <indexterm>
+ <primary>set_auto_reconnect() (method of Ndb_cluster_connection)</primary>
+ </indexterm>
+
+ <formalpara>
+
+ <title>Description</title>
+
+ <para>
+ Prior to MySQL Cluster NDB 6.3.26 and MySQL Cluster NDB 7.0.7,
+ an API node that was disconnected from the cluster tried to
+ re-use an existing <literal>Ndb_cluster_connection</literal>
+ object when reconnecting; however, it was discovered that
+ allowing this also sometimes allowed multiple API nodes to try
+ to connect using the same node ID during a restart of the
+ cluster. (Bug #45921) Beginning with these versions, API nodes
+ are instead forced to use a new connection object, unless this
+ behavior is overridden by setting <literal>AutoReconnect =
+ 1</literal> in the <filename>config.ini</filename> file or
+ calling this method with 1 as the input value. Calling the
+ method with 0 for the value has the same effect as setting the
+ <literal>AutoReconnect</literal> configuration parameter (also
+ introduced in those MySQL Cluster versions) to 0; that is, API
+ nodes are forced to create new connections.
+ </para>
+
+ </formalpara>
+
+ <formalpara>
+
+ <title>Signature</title>
+
+ <para>
+<programlisting>
+void set_auto_reconnect
+ (
+ int <replaceable>value</replaceable>
+ )
+</programlisting>
+ </para>
+
+ </formalpara>
+
+ <formalpara>
+
+ <title>Parameters</title>
+
+ <para>
+ A <replaceable>value</replaceable> of 0 or 1 which determines
+ API node reconnection behavior. 0 forces API nodes to use new
+ connections (<literal>Ndb_cluster_connection</literal>
+ objects); 1 allows API nodes to re-use existing connections to
+ the cluster.
+ </para>
+
+ </formalpara>
+
+ <formalpara>
+
+ <title>Return Value</title>
+
+ <para>
+ <emphasis>None</emphasis>.
+ </para>
+
+ </formalpara>
+
+<!--
+ <formalpara>
+
+ <title>Example</title>
+
+ <para>
+<programlisting>
+[<emphasis>To be supplied...</emphasis>]
+</programlisting>
+ </para>
+
+ </formalpara>
+-->
+
+ </section>
+
+ <section id="class-ndb-cluster-connection-get-auto-reconnect">
+
+ <title><literal>Ndb_cluster_connection::get_auto_reconnect()</literal></title>
+
+ <indexterm>
+ <primary>Ndb_cluster_connection::get_auto_reconnect()</primary>
+ </indexterm>
+
+ <indexterm>
+ <primary>get_auto_reconnect() (method of Ndb_cluster_connection)</primary>
+ </indexterm>
+
+ <formalpara>
+
+ <title>Description</title>
+
+ <para>
+ Introduced in MySQL Cluster NDB 6.3.26 and MySQL CLuster NDB
+ 7.0.7, this method retrieves the current
+ <literal>AutoReconnect</literal> setting for a given
+ <literal>Ndb_cluster_connection</literal>. For more detailed
+ information, see
+ <xref linkend="class-ndb-cluster-connection-set-auto-reconnect"/>.
+ </para>
+
+ </formalpara>
+
+ <formalpara>
+
+ <title>Signature</title>
+
+ <para>
+<programlisting>
+int get_auto_reconnect
+ (
+ void
+ )
+</programlisting>
+ </para>
+
+ </formalpara>
+
+ <formalpara>
+
+ <title>Parameters</title>
+
+ <para>
+ <emphasis>None</emphasis>.
+ </para>
+
+ </formalpara>
+
+ <formalpara>
+
+ <title>Return Value</title>
+
+ <para>
+ An integer value 0 or 1, corresponding to the current
+ <literal>AutoReconnect</literal> setting in effect for for
+ this connection. 0 forces API nodes to use new connections to
+ the cluster; 1 allows API nodes to re-use existing
+ connections.
+ </para>
+
+ </formalpara>
+
+<!--
+ <formalpara>
+
+ <title>Example</title>
+
+ <para>
+ <programlisting>
+ [<emphasis>To be supplied...</emphasis>]
+ </programlisting>
+ </para>
+
+ </formalpara>
+-->
+
+ </section>
+
</section>
</section>
Modified: trunk/ndbapi/images/published/Ndb-cluster-connection-class.png
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 160 bytes
Modified: trunk/ndbapi/images/source/xmi/Ndb-cluster-connection.xmi.tgz
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 159 bytes
Modified: trunk/refman-5.1/mysql-cluster-configuration.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster-configuration.xml 2009-07-07 02:19:06 UTC (rev 15601)
+++ trunk/refman-5.1/mysql-cluster-configuration.xml 2009-07-07 07:43:41 UTC (rev 15602)
Changed blocks: 2, Lines Added: 31, Lines Deleted: 0; 1976 bytes
@@ -6447,6 +6447,27 @@
</para>
</listitem>
+ <listitem>
+ <indexterm>
+ <primary>TotalSendBufferMemory</primary>
+ <secondary>API and SQL nodes</secondary>
+ </indexterm>
+
+ <para id="mysql-cluster-param-api-definition-autoreconnect">
+ <literal>AutoReconnect</literal>
+ </para>
+
+ <para>
+ This parameter is available beginning with MySQL Cluster NDB
+ 6.3.26 and MySQL Cluster NDB 7.0.7. By default, its value is
+ <literal>false</literal>, which forces disconnected API
+ nodes (including MySQL Servers acting as SQL nodes) the use
+ a new connection to the cluster rather than attempting to
+ re-use an existing one, which can cause problems when using
+ dynamically-allocated node IDs. (Bug #45921)
+ </para>
+ </listitem>
+
</itemizedlist>
<para>
@@ -8643,6 +8664,16 @@
<entry>N</entry>
</row>
<row>
+ <entry><literal><link linkend="mysql-cluster-param-api-definition-autoreconnect">AutoReconnect</link></literal>
+ (added in MySQL Cluster NDB 6.3.26 and MySQL Cluster NDB
+ 7.0.7)</entry>
+ <entry>boolean</entry>
+ <entry>false</entry>
+ <entry>false</entry>
+ <entry>true</entry>
+ <entry>N</entry>
+ </row>
+ <row>
<entry><literal><link linkend="mysql-cluster-param-api-definition-batchbytesize">BatchByteSize</link></literal></entry>
<entry>bytes</entry>
<entry>32K</entry>
Modified: trunk/refman-5.1/mysql-cluster-upgrade-downgrade.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster-upgrade-downgrade.xml 2009-07-07 02:19:06 UTC (rev 15601)
+++ trunk/refman-5.1/mysql-cluster-upgrade-downgrade.xml 2009-07-07 07:43:41 UTC (rev 15602)
Changed blocks: 1, Lines Added: 8, Lines Deleted: 0; 694 bytes
@@ -784,6 +784,14 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ Prior to MySQL Cluster NDB 7.0.7, DML statements failed if
+ executed while performing an online upgrade from a MySQL
+ CLuster NDB 6.3 release. (Bug #45917)
+ </para>
+ </listitem>
+
</itemizedlist>
</para>
Modified: trunk/refman-5.4/Makefile.depends
===================================================================
--- trunk/refman-5.4/Makefile.depends 2009-07-07 02:19:06 UTC (rev 15601)
+++ trunk/refman-5.4/Makefile.depends 2009-07-07 07:43:41 UTC (rev 15602)
Changed blocks: 4, Lines Added: 1, Lines Deleted: 3; 1669 bytes
@@ -1192,7 +1192,6 @@
metadata/programs-client-core.idmap \
metadata/programs-installation.idmap \
metadata/programs-using.idmap \
- metadata/replication-options-core.idmap \
metadata/sql-syntax-server-administration.idmap
dynxml-local-dba-user-management.validpure: $(dynxml_local_dba_user_management_SOURCES)
dynxml-local-dba-user-management.titles: $(dynxml_local_dba_user_management_SOURCES)
@@ -1755,6 +1754,7 @@
dynxml_local_news_5_4_IMAGES =
dynxml_local_news_5_4_SOURCES = dynxml-local-news-5.4.xml $(dynxml_local_news_5_4_INCLUDES)
dynxml_local_news_5_4_IDMAPS = \
+ metadata/functions-core.idmap \
metadata/installing-core.idmap \
metadata/introduction.idmap \
metadata/optimization.idmap \
@@ -1956,7 +1956,6 @@
../refman-5.1/metadata/errors-problems-core.idmap \
metadata/dba-log-files.idmap \
metadata/dba-mysqld-server-core.idmap \
- metadata/dba-user-management-core.idmap \
metadata/errors-problems-core.idmap \
metadata/programs-using.idmap \
metadata/replication-configuration.idmap \
@@ -4986,7 +4985,6 @@
sql_syntax_server_administration_SOURCES = sql-syntax-server-administration.xml $(sql_syntax_server_administration_INCLUDES)
sql_syntax_server_administration_IDMAPS = \
../refman-5.1/metadata/mysql-cluster-limitations.idmap \
- ../refman-5.1/metadata/mysql-cluster-replication.idmap \
../refman-common/metadata/bug-reports.idmap \
metadata/apis-c.idmap \
metadata/backup.idmap \
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r15602 - in trunk: dynamic-docs/changelog ndbapi ndbapi/images/published ndbapi/images/source/xmi refman-5.1 refman-5.4 | jon.stephens | 7 Jul |