Author: paul
Date: 2006-01-31 17:51:46 +0100 (Tue, 31 Jan 2006)
New Revision: 1150
Log:
r6975@frost: paul | 2006-01-31 10:51:04 -0600
General revisions.
Modified:
trunk/
trunk/refman-4.1/apis.xml
trunk/refman-4.1/connector-odbc.xml
trunk/refman-4.1/database-administration.xml
trunk/refman-4.1/functions.xml
trunk/refman-4.1/innodb.xml
trunk/refman-4.1/installing.xml
trunk/refman-4.1/ndbcluster.xml
trunk/refman-4.1/sql-syntax.xml
trunk/refman-4.1/storage-engines.xml
trunk/refman-5.0/apis.xml
trunk/refman-5.0/connector-odbc.xml
trunk/refman-5.0/database-administration.xml
trunk/refman-5.0/functions.xml
trunk/refman-5.0/innodb.xml
trunk/refman-5.0/installing.xml
trunk/refman-5.0/ndbcluster.xml
trunk/refman-5.0/replication.xml
trunk/refman-5.0/sql-syntax.xml
trunk/refman-5.0/storage-engines.xml
trunk/refman-5.1/apis.xml
trunk/refman-5.1/connector-odbc.xml
trunk/refman-5.1/custom-engine.xml
trunk/refman-5.1/database-administration.xml
trunk/refman-5.1/functions.xml
trunk/refman-5.1/innodb.xml
trunk/refman-5.1/installing.xml
trunk/refman-5.1/ndbcluster.xml
trunk/refman-5.1/replication.xml
trunk/refman-5.1/sql-syntax.xml
trunk/refman-5.1/storage-engines.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:6974
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:2719
+ b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:6975
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:2719
Modified: trunk/refman-4.1/apis.xml
===================================================================
--- trunk/refman-4.1/apis.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-4.1/apis.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -3049,8 +3049,8 @@
<para>
The language of the client error messages may be changed by
- recompiling the MySQL client library. Currently you can choose
- error messages in several different languages. See
+ recompiling the MySQL client library. Currently, you can
+ choose error messages in several different languages. See
<xref linkend="languages"/>.
</para>
@@ -9708,8 +9708,8 @@
<para>
The language of the client error messages may be changed by
- recompiling the MySQL client library. Currently you can choose
- error messages in several different languages.
+ recompiling the MySQL client library. Currently, you can
+ choose error messages in several different languages.
</para>
<para>
Modified: trunk/refman-4.1/connector-odbc.xml
===================================================================
--- trunk/refman-4.1/connector-odbc.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-4.1/connector-odbc.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -775,7 +775,7 @@
</para>
<para>
- Normally you need to install MyODBC only on Windows machines. You
+ Normally, you need to install MyODBC only on Windows machines. You
need MyODBC for Unix only if you have a program like ColdFusion
that is running on a Unix machine and uses ODBC to connect for
database access.
Modified: trunk/refman-4.1/database-administration.xml
===================================================================
--- trunk/refman-4.1/database-administration.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-4.1/database-administration.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -874,7 +874,7 @@
<para>
Flush (synchronize) all changes to disk after each SQL
- statement. Normally MySQL does a write of all changes to
+ statement. Normally, MySQL does a write of all changes to
disk only after each SQL statement and lets the operating
system handle the synchronizing to disk. See
<xref linkend="crashing"/>.
@@ -5016,7 +5016,7 @@
taken from the cache if possible, and only when the cache
is empty is a new thread created. This variable can be
increased to improve performance if you have a lot of new
- connections. (Normally this doesn't provide a notable
+ connections. (Normally, this doesn't provide a notable
performance improvement if you have a good thread
implementation.) By examining the difference between the
<literal>Connections</literal> and
@@ -20851,7 +20851,7 @@
</para>
<para>
- <emphasis role="bold">Warning</emphasis>: Normally you should
+ <emphasis role="bold">Warning</emphasis>: Normally, you should
never have two servers that update data in the same databases.
This may lead to unpleasant surprises if your operating system
does not support fault-free system locking. If (despite this
Modified: trunk/refman-4.1/functions.xml
===================================================================
--- trunk/refman-4.1/functions.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-4.1/functions.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -11134,10 +11134,10 @@
<para>
The functions also can be useful for sorting
- <literal>ENUM</literal> columns in lexical order. Normally sorting
- of <literal>ENUM</literal> columns occurs using the internal
- numeric values. Casting the values to <literal>CHAR</literal>
- results in a lexical sort:
+ <literal>ENUM</literal> columns in lexical order. Normally,
+ sorting of <literal>ENUM</literal> columns occurs using the
+ internal numeric values. Casting the values to
+ <literal>CHAR</literal> results in a lexical sort:
</para>
<remark role="help-example"/>
Modified: trunk/refman-4.1/innodb.xml
===================================================================
--- trunk/refman-4.1/innodb.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-4.1/innodb.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -1203,7 +1203,7 @@
<para>
The number of file I/O threads in <literal>InnoDB</literal>.
- Normally this should be left at the default value of 4, but
+ Normally, this should be left at the default value of 4, but
disk I/O on Windows may benefit from a larger number. On Unix,
increasing the number has no effect; <literal>InnoDB</literal>
always uses the default value. This variable is available as
@@ -1379,7 +1379,7 @@
</para>
<para>
- Normally <literal>InnoDB</literal> uses an algorithm called
+ Normally, <literal>InnoDB</literal> uses an algorithm called
<firstterm>next-key locking</firstterm>.
<literal>InnoDB</literal> performs row-level locking in such a
way that when it searches or scans a table index, it sets
@@ -1573,7 +1573,7 @@
<para>
The number of identical copies of log groups we keep for the
- database. Currently this should be set to 1.
+ database. Currently, this should be set to 1.
</para>
</listitem>
@@ -5757,7 +5757,7 @@
The data files that you define in the configuration file form
the tablespace of <literal>InnoDB</literal>. The files are
simply concatenated to form the tablespace. There is no striping
- in use. Currently you cannot define where within the tablespace
+ in use. Currently, you cannot define where within the tablespace
your tables are allocated. However, in a newly created
tablespace, <literal>InnoDB</literal> allocates space starting
from the first data file.
Modified: trunk/refman-4.1/installing.xml
===================================================================
--- trunk/refman-4.1/installing.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-4.1/installing.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -9009,10 +9009,11 @@
<listitem>
<para>
The <filename>sql_yacc.cc</filename> file is generated from
- <filename>sql_yacc.yy</filename>. Normally the build process
- does not need to create <filename>sql_yacc.cc</filename>
- because MySQL comes with a pre-generated copy. However, if
- you do need to re-create it, you might encounter this error:
+ <filename>sql_yacc.yy</filename>. Normally, the build
+ process does not need to create
+ <filename>sql_yacc.cc</filename> because MySQL comes with a
+ pre-generated copy. However, if you do need to re-create it,
+ you might encounter this error:
</para>
<programlisting>
@@ -11991,14 +11992,14 @@
</para>
<para>
- Normally you can upgrade MySQL to a newer MySQL version without
- having to do any changes to your tables. Please confirm if the
- upgrade notes to the particular version you are upgrading to tell
- you anything about this. If there would be any incompatibilities
- you can use <command>mysqldump</command> to dump your tables
- before upgrading. After upgrading, reload the dump file using
- <command>mysql</command> or <command>mysqlimport</command> to
- re-create your tables.
+ Normally, you can upgrade MySQL to a newer MySQL version without
+ having to do any changes to your tables. Please confirm whether
+ the upgrade notes to the particular version you are upgrading to
+ tell you anything about this. If there would be any
+ incompatibilities you can use <command>mysqldump</command> to dump
+ your tables before upgrading. After upgrading, reload the dump
+ file using <command>mysql</command> or
+ <command>mysqlimport</command> to re-create your tables.
</para>
<para>
Modified: trunk/refman-4.1/ndbcluster.xml
===================================================================
--- trunk/refman-4.1/ndbcluster.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-4.1/ndbcluster.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -2182,7 +2182,7 @@
</remark>
<para>
- Currently the configuration file is in INI format, and is
+ Currently, the configuration file is in INI format, and is
named <filename>config.ini</filename> by default. It is read
by <command>ndb_mgmd</command> at startup and can be placed
anywhere. Its location and name are specified by using
@@ -2783,11 +2783,11 @@
</para>
<para>
- For each parameter it is possible to use <literal>k</literal>,
+ For each parameter it is possible to use <literal>K</literal>,
<literal>M</literal>, or <literal>G</literal> as a suffix to
indicate units of 1024, 1024×1024, or
1024×1024×1024. (For example,
- <literal>100k</literal> means 100 × 1024 = 102400.)
+ <literal>100K</literal> means 100 × 1024 = 102400.)
Parameters and values are currently case-sensitive.
</para>
@@ -3146,7 +3146,7 @@
</para>
<para>
- Currently the only partitioning algorithm is hashing and
+ Currently, the only partitioning algorithm is hashing and
ordered indexes are local to each node. Thus ordered
indexes cannot be used to handle uniqueness constraints in
the general case.
@@ -3244,10 +3244,10 @@
<para>
Transaction records are allocated to individual MySQL
- servers. Normally there is at least one transaction record
- allocated per connection that using any table in the
- cluster. For this reason, one should ensure that there are
- more transaction records in the cluster than there are
+ servers. Normally, there is at least one transaction
+ record allocated per connection that using any table in
+ the cluster. For this reason, one should ensure that there
+ are more transaction records in the cluster than there are
concurrent connections to all MySQL servers in the
cluster.
</para>
@@ -6917,7 +6917,7 @@
</para>
<para>
- Turn cluster log on.
+ Turns the cluster log on.
</para>
</listitem>
@@ -6927,7 +6927,7 @@
</para>
<para>
- Turn cluster log off.
+ Turns the cluster log off.
</para>
</listitem>
@@ -6937,7 +6937,7 @@
</para>
<para>
- Information about cluster log settings.
+ Provides information about cluster log settings.
</para>
</listitem>
@@ -6972,7 +6972,7 @@
The following table describes the default setting (for all
data nodes) of the cluster log category threshold. If an event
has a priority with a value lower than or equal to the
- priority threshold, then it is reported in the cluster log.
+ priority threshold, it is reported in the cluster log.
</para>
<para>
@@ -7035,7 +7035,7 @@
</para>
<para>
- Event severity levels are shown below.
+ The following table shows the event severity levels.
(<emphasis role="bold">Note</emphasis>: These correspond to
Unix <literal>syslog</literal> levels, except for
<literal>LOG_EMERG</literal> and
@@ -7044,9 +7044,9 @@
<informaltable>
<tgroup cols="3">
- <colspec colwidth="50*"/>
<colspec colwidth="10*"/>
- <colspec colwidth="50*"/>
+ <colspec colwidth="20*"/>
+ <colspec colwidth="70*"/>
<tbody>
<row>
<entry><emphasis role="bold">1</emphasis></entry>
@@ -7103,29 +7103,40 @@
<title>&title-mysql-cluster-log-events;</title>
<para>
- An event report as reported in the event logs has the
- following format: <literal><replaceable>datetime</replaceable>
- [<replaceable>string</replaceable>]
- <replaceable>severity</replaceable> --
- <replaceable>message</replaceable></literal>. For example:
+ An event report reported in the event logs has the following
+ format:
</para>
<programlisting>
+<replaceable>datetime</replaceable> [<replaceable>string</replaceable>] <replaceable>severity</replaceable> -- <replaceable>message</replaceable>
+</programlisting>
+
+ <para>
+ For example:
+ </para>
+
+<programlisting>
09:19:30 2005-07-24 [NDB] INFO -- Node 4 Start phase 4 completed
</programlisting>
<para>
- All reportable events are discussed in this section, ordered
- by category and severity level within each category.
+ This section discusses all reportable events, ordered by
+ category and severity level within each category.
</para>
<para>
+ In the event descriptions, GCP and LCP mean <quote>Global
+ Checkpoint</quote> and <quote>Local Checkpoint,</quote>
+ respectively.
+ </para>
+
+ <para>
<emphasis role="bold"><literal>CONNECTION</literal>
Events</emphasis>
</para>
<para>
- These are events associated with connections between Cluster
+ These events are associated with connections between Cluster
nodes.
</para>
@@ -7145,25 +7156,25 @@
<row>
<entry>DB nodes connected</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Data nodes connected</entry>
</row>
<row>
<entry>DB nodes disconnected</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Data nodes disconnected</entry>
</row>
<row>
<entry>Communication closed</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>SQL node or data node connection closed</entry>
</row>
<row>
<entry>Communication opened</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>SQL node or data node connection opened</entry>
</row>
</tbody>
@@ -7180,11 +7191,6 @@
checkpoints.
</para>
- <para>
- (<emphasis role="bold">Note</emphasis>: GCP = Global
- Checkpoint, LCP = Local Checkpoint.)
- </para>
-
<informaltable>
<tgroup cols="4">
<colspec colwidth="35*"/>
@@ -7201,43 +7207,43 @@
<row>
<entry>LCP stopped in calc keep GCI</entry>
<entry>0</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>LCP stopped</entry>
</row>
<row>
<entry>Local checkpoint fragment completed</entry>
<entry>11</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>LCP on a fragment has been completed</entry>
</row>
<row>
<entry>Global checkpoint completed</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>GCP finished</entry>
</row>
<row>
<entry>Global checkpoint started</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Start of GCP: REDO log is written to disk</entry>
</row>
<row>
<entry>Local checkpoint completed</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>LCP completed normally</entry>
</row>
<row>
<entry>Local checkpoint started</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Start of LCP: data written to disk</entry>
</row>
<row>
<entry>Report undo log blocked</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>UNDO logging blocked; buffer near overflow</entry>
</row>
</tbody>
@@ -7273,26 +7279,26 @@
<row>
<entry>Internal start signal received STTORRY</entry>
<entry>15</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Blocks received after completion of restart</entry>
</row>
<row>
<entry>Undo records executed</entry>
<entry>15</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>New REDO log started</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>GCI keep <replaceable>X</replaceable>, newest restorable GCI
<replaceable>Y</replaceable></entry>
</row>
<row>
<entry>New log started</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Log part <replaceable>X</replaceable>, start MB
<replaceable>Y</replaceable>, stop MB
<replaceable>Z</replaceable></entry>
@@ -7300,50 +7306,50 @@
<row>
<entry>Node has been refused for inclusion in the cluster</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Node cannot be included in cluster due to misconfiguration, inability to
establish communication, or other problem</entry>
</row>
<row>
<entry>DB node neighbors</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Shows neighboring data nodes</entry>
</row>
<row>
<entry>DB node start phase <replaceable>X</replaceable> completed</entry>
<entry>4</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>A data node start phase has been completed</entry>
</row>
<row>
<entry>Node has been successfully included into the cluster</entry>
<entry>3</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Displays the node, managing node, and dynamic ID</entry>
</row>
<row>
<entry>DB node start phases initiated</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>NDB Cluster nodes starting</entry>
</row>
<row>
<entry>DB node all start phases completed</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>NDB Cluster nodes started</entry>
</row>
<row>
<entry>DB node shutdown initiated</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Shutdown of data node has commenced</entry>
</row>
<row>
<entry>DB node shutdown aborted</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Unable to shut down data node normally</entry>
</row>
</tbody>
@@ -7376,53 +7382,55 @@
<row>
<entry>Node failure phase completed</entry>
<entry>8</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>Reports completion of node failure phases</entry>
</row>
<row>
<entry>Node has failed, node state was <replaceable>X</replaceable></entry>
<entry>8</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>Reports that a node has failed</entry>
</row>
<row>
<entry>Report arbitrator results</entry>
<entry>2</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>There are 8 different possible results for arbitration attempts:
<itemizedlist>
<listitem>
<para>
- Arbitration check failed - less than 1/2 nodes
- left
+ Arbitration check failed — less than 1/2
+ nodes left
</para>
</listitem>
<listitem>
<para>
- Arbitration check succeeded - node group
+ Arbitration check succeeded — node group
majority
</para>
</listitem>
<listitem>
<para>
- Arbitration check failed - missing node group
+ Arbitration check failed — missing node
+ group
</para>
</listitem>
<listitem>
<para>
- Network partitioning - arbitration required
+ Network partitioning — arbitration
+ required
</para>
</listitem>
<listitem>
<para>
- Arbitration succeeded - affirmative response
- from node <replaceable>X</replaceable>
+ Arbitration succeeded — affirmative
+ response from node <replaceable>X</replaceable>
</para>
</listitem>
@@ -7450,61 +7458,61 @@
<row>
<entry>Completed copying a fragment</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Completed copying of dictionary information</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Completed copying distribution information</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Starting to copy fragments</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Completed copying all fragments</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>GCP takeover started</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>GCP takeover completed</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>LCP takeover started</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>LCP takeover completed (state = <replaceable>X</replaceable>)</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Report whether an arbitrator is found or not</entry>
<entry>6</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>There are 7 different possible outcomes when seeking an arbitrator:
<itemizedlist>
@@ -7598,44 +7606,44 @@
<row>
<entry>Report job scheduling statistics</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Mean internal job scheduling statistics</entry>
</row>
<row>
<entry>Sent number of bytes</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Mean number of bytes sent to node <replaceable>X</replaceable></entry>
</row>
<row>
<entry>Received # of bytes</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Mean number of bytes received from node <replaceable>X</replaceable></entry>
</row>
<row>
<entry>Report transaction statistics</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Numbers of: transactions, commits, reads, simple reads, writes,
concurrent operations, attribute info, and aborts</entry>
</row>
<row>
<entry>Report operations</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Number of operations</entry>
</row>
<row>
<entry>Report table create</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Memory usage</entry>
<entry>5</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Data and index memory usage (80%, 90%, and 100%)</entry>
</row>
</tbody>
@@ -7648,7 +7656,7 @@
</para>
<para>
- These events relate to Cluster errors and warnings; the
+ These events relate to Cluster errors and warnings. The
presence of one or more of these generally indicates that a
major malfunction or failure has occurred.
</para>
@@ -7669,7 +7677,7 @@
<row>
<entry>Dead due to missed heartbeat</entry>
<entry>8</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>Node <replaceable>X</replaceable> declared <quote>dead</quote> due to
missed heartbeat</entry>
</row>
@@ -7682,20 +7690,20 @@
<row>
<entry>Transporter warnings</entry>
<entry>8</entry>
- <entry>WARNING</entry>
+ <entry><literal>WARNING</literal></entry>
<entry/>
</row>
<row>
<entry>Missed heartbeats</entry>
<entry>8</entry>
- <entry>WARNING</entry>
+ <entry><literal>WARNING</literal></entry>
<entry>Node <replaceable>X</replaceable> missed heartbeat
#<replaceable>Y</replaceable></entry>
</row>
<row>
<entry>General warning events</entry>
<entry>2</entry>
- <entry>WARNING</entry>
+ <entry><literal>WARNING</literal></entry>
<entry/>
</row>
</tbody>
@@ -7729,19 +7737,19 @@
<row>
<entry>Sent heartbeat</entry>
<entry>12</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Heartbeat sent to node <replaceable>X</replaceable></entry>
</row>
<row>
<entry>Create log bytes</entry>
<entry>11</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Log part, log file, MB</entry>
</row>
<row>
<entry>General info events</entry>
<entry>2</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
</tbody>
@@ -7757,7 +7765,7 @@
<title>&title-mysql-cluster-single-user-mode;</title>
<para>
- Single user mode allows the database administrator to restrict
+ Single-user mode allows the database administrator to restrict
access to the database system to a single MySQL server (SQL
node). When entering single-user mode, all connections to all
other MySQL servers are closed gracefully and all running
@@ -7767,12 +7775,15 @@
<para>
Once the cluster has entered single-user mode, only the
- designated SQL node is granted access to the database. You can
- use the <command>ALL STATUS</command> command to see when the
- cluster has entered single-user mode.
+ designated SQL node is granted access to the database.
</para>
<para>
+ You can use the <command>ALL STATUS</command> command to see
+ when the cluster has entered single-user mode.
+ </para>
+
+ <para>
Example:
</para>
@@ -7807,7 +7818,7 @@
The command <command>EXIT SINGLE USER MODE</command> changes the
state of the cluster's data nodes from single-user mode to
normal mode. MySQL Servers waiting for a connection (that is,
- for the cluster to become ready and available), are now
+ for the cluster to become ready and available), are again
permitted to connect. The MySQL Server denoted as the
single-user SQL node continues to run (if still connected)
during and after the state change.
@@ -7826,13 +7837,17 @@
</programlisting>
<para>
- The recommended way to handle a node failure when running in
- single-user mode is to do either of the following:
+ There are two recommended ways to handle a node failure when
+ running in single-user mode:
</para>
<itemizedlist>
<listitem>
+ <para>
+ Method 1:
+ </para>
+
<orderedlist>
<listitem>
@@ -7857,16 +7872,12 @@
</orderedlist>
</listitem>
- </itemizedlist>
-
- <para>
- <emphasis>or</emphasis>
- </para>
-
- <itemizedlist>
-
<listitem>
<para>
+ Method 2:
+ </para>
+
+ <para>
Restart database nodes prior to entering single-user mode.
</para>
</listitem>
@@ -7898,7 +7909,7 @@
<listitem>
<para>
<emphasis role="bold">Metadata</emphasis>: the names and
- definitions of all database tables.
+ definitions of all database tables
</para>
</listitem>
@@ -7921,8 +7932,8 @@
</itemizedlist>
<para>
- Each of these is saved on all nodes participating in the
- backup. During backup each node saves these three parts into
+ Each of these parts is saved on all nodes participating in the
+ backup. During backup, each node saves these three parts into
three files on disk:
</para>
@@ -7948,11 +7959,11 @@
<para>
A data file containing the table records, which are saved
- on a per-fragment basis; that is, different nodes save
+ on a per-fragment basis. That is, different nodes save
different fragments during the backup. The file saved by
- each node starts with a header that states to which tables
- the records belong. Following the list of records there is
- a footer containing a checksum for all records.
+ each node starts with a header that states the tables to
+ which the records belong. Following the list of records
+ there is a footer containing a checksum for all records.
</para>
</listitem>
@@ -7992,7 +8003,7 @@
</para>
<para>
- To create a backup using the management server involves the
+ Creating a backup using the management server involves the
following steps:
</para>
@@ -8028,8 +8039,8 @@
will also be saved in the cluster log, if it has not been
configured otherwise.) This means that the cluster has
received and processed the backup request. It does
- <emphasis>not</emphasis> mean that the backup has been
- completed.
+ <emphasis>not</emphasis> mean that the backup has
+ finished.
</para>
</listitem>
@@ -8044,7 +8055,7 @@
</orderedlist>
<para>
- To abort a backup already in progress:
+ To abort a backup that is already in progress:
</para>
<orderedlist>
@@ -8072,14 +8083,14 @@
The management server will acknowledge the abort request
with <literal>Abort of backup
<replaceable>backup_id</replaceable> ordered</literal>;
- note that no actual response to this request has yet been
- received.
+ note that it has received no actual response to this
+ request yet.
</para>
</listitem>
<listitem>
<para>
- Once the backup has been aborted, the management server
+ After the backup has been aborted, the management server
will report <literal>Backup
<replaceable>backup_id</replaceable> has been aborted for
reason <replaceable>XYZ</replaceable></literal>. This
@@ -8103,9 +8114,9 @@
<para>
<emphasis role="bold">Note</emphasis>: If there is no backup
with ID <replaceable>backup_id</replaceable> running when it
- is aborted, the management server does not make any explicit
- response. However, the fact that an invalid abort command was
- sent is indicated in the cluster log.
+ is aborted, the management server makes no explicit response.
+ However, the fact that an invalid abort command was sent is
+ indicated in the cluster log.
</para>
</section>
@@ -8130,17 +8141,18 @@
</para>
<para>
- The first time you run the restoration program, you also need
- to restore the metadata; in other words, you must re-create
- the database tables. (Note that the cluster should have an
- empty database when starting to restore a backup.) The restore
- program acts as an API to the cluster and therefore requires a
- free connection to connect to the cluster. This can be
- verified with the <command>ndb_mgm</command> command
- <command>SHOW</command> (you can accomplish this from a system
- shell using <command>ndb_mgm -e SHOW</command>). The
- <option>-c <replaceable>connectstring</replaceable></option>
- option may be used to locate the MGM node (see
+ The first time you run the <command>ndb_restore</command>
+ restoration program, you also need to restore the metadata. In
+ other words, you must re-create the database tables. (Note
+ that the cluster should have an empty database when starting
+ to restore a backup.) The restore program acts as an API to
+ the cluster and therefore requires a free connection to
+ connect to the cluster. This can be verified with the
+ <command>ndb_mgm</command> command <command>SHOW</command>
+ (you can accomplish this from a system shell using
+ <command>ndb_mgm -e SHOW</command>). The <option>-c
+ <replaceable>connectstring</replaceable></option> option may
+ be used to locate the MGM node (see
<xref linkend="mysql-cluster-connectstring"/>, for information
on connectstrings). The backup files must be present in the
directory given as an argument to the restoration program.
@@ -8172,7 +8184,7 @@
<title>&title-mysql-cluster-backup-configuration;</title>
<para>
- There are four configuration parameters essential for backup:
+ Four configuration parameters are essential for backup:
</para>
<itemizedlist>
@@ -8183,8 +8195,8 @@
</para>
<para>
- Amount of memory used to buffer data before it is written
- to disk.
+ The amount of memory used to buffer data before it is
+ written to disk.
</para>
</listitem>
@@ -8194,8 +8206,8 @@
</para>
<para>
- Amount of memory used to buffer log records before these
- are written to disk.
+ The amount of memory used to buffer log records before
+ these are written to disk.
</para>
</listitem>
@@ -8205,7 +8217,7 @@
</para>
<para>
- Total memory allocated in a database node for backups.
+ The total memory allocated in a database node for backups.
This should be the sum of the memory allocated for the
backup data buffer and the backup log buffer.
</para>
@@ -8217,8 +8229,8 @@
</para>
<para>
- Size of blocks written to disk. This applies for both the
- backup data buffer and the backup log buffer.
+ The size of blocks written to disk. This applies for both
+ the backup data buffer and the backup log buffer.
</para>
</listitem>
@@ -8282,7 +8294,7 @@
</para>
<para>
- Currently the MySQL Cluster codebase includes support for four
+ Currently, the MySQL Cluster codebase includes support for four
different transporters. Most users today employ TCP/IP over
Ethernet because it is ubiquitous. TCP/IP is also by far the
best-tested transporter in MySQL Cluster.
@@ -8298,8 +8310,8 @@
<para>
For users who desire it, it is also possible to use cluster
interconnects to enhance performance even further. There are two
- ways to achieve this: either a custom transporter can be designed
- to handle this case, or one can use socket implementations that
+ ways to achieve this: Either a custom transporter can be designed
+ to handle this case, or you can use socket implementations that
bypass the TCP/IP stack to one extent or another. We have
experimented with both of these techniques using the SCI (Scalable
Coherent Interface) technology developed by
@@ -8311,10 +8323,10 @@
<title>&title-sci-sockets;</title>
<para>
- In this section we will show how one can adapt a cluster
- configured for normal TCP/IP communication to use SCI Sockets
- instead. This documentation is based on SCI Sockets version
- 2.3.0 as of 01 October 2004.
+ In this section, we show how to adapt a cluster configured for
+ normal TCP/IP communication to use SCI Sockets instead. This
+ documentation is based on SCI Sockets version 2.3.0 as of 01
+ October 2004.
</para>
<para>
@@ -8340,7 +8352,7 @@
There are essentially four requirements for SCI Sockets:
</para>
- <orderedlist>
+ <itemizedlist>
<listitem>
<para>
@@ -8368,7 +8380,7 @@
</para>
</listitem>
- </orderedlist>
+ </itemizedlist>
<para>
This process needs to be repeated for each machine in the
@@ -8380,7 +8392,7 @@
Two packages need to be retrieved to get SCI Sockets working:
</para>
- <orderedlist>
+ <itemizedlist>
<listitem>
<para>
@@ -8396,7 +8408,7 @@
</para>
</listitem>
- </orderedlist>
+ </itemizedlist>
<para>
Currently, these are available only in source code format. The
@@ -8448,7 +8460,8 @@
this example we will place the installation in
<filename>/opt/DIS</filename>.
(<emphasis role="bold">Note</emphasis>: You will most likely
- need to run the following as the system root user.)
+ need to run the following as the system <literal>root</literal>
+ user.)
</para>
<programlisting>
@@ -8511,9 +8524,9 @@
ports, each of which can support a ring. It is necessary to make
sure that different rings use different node ID spaces. In a
typical configuration, the first port uses node IDs below 64 (4
- - 60), the next 64 node IDs (68 - 124) are assigned to the next
- port, and so on, with node IDs 452 - 508 being assigned to the
- eighth port.
+ − 60), the next 64 node IDs (68 − 124) are assigned
+ to the next port, and so on, with node IDs 452 − 508 being
+ assigned to the eighth port.
</para>
<para>
@@ -8560,9 +8573,9 @@
<para>
To set the node ID for an SCI card use the following command in
the <filename>/opt/DIS/sbin</filename> directory. In this
- example <option>-c 1</option> refers to the number of the SCI
- card (this will always be 1 if there is only 1 card in the
- machine), <option>-a 0</option> refers to adapter 0; and
+ example, <option>-c 1</option> refers to the number of the SCI
+ card (this is always 1 if there is only 1 card in the machine);
+ <option>-a 0</option> refers to adapter 0; and
<literal>68</literal> is the node ID:
</para>
@@ -8661,7 +8674,7 @@
<para>
If you discover an error and need to change the SCI socket
- configuration, it is necessary to use the
+ configuration, it is necessary to use
<command>ksocketconfig</command> to accomplish this task:
</para>
@@ -8678,7 +8691,7 @@
To ensure that SCI sockets are actually being used, you can
employ the <command>latency_bench</command> test program. Using
this utility's server component, clients can connect to the
- server to test the latency of the connection; determining
+ server to test the latency of the connection. Determining
whether SCI is enabled should be fairly simple from observing
the latency. (<emphasis role="bold">Note</emphasis>: Before
using <command>latency_bench</command>, it is necessary to set
@@ -8730,8 +8743,8 @@
</para>
<programlisting>
-bash-shell> export LD_PRELOAD=/opt/DIS/lib/libkscisock.so
-bash-shell> ndbd
+bash-shell> <userinput>export LD_PRELOAD=/opt/DIS/lib/libkscisock.so</userinput>
+bash-shell> <userinput>ndbd</userinput>
</programlisting>
<para>
@@ -8739,8 +8752,8 @@
</para>
<programlisting>
-tcsh-shell> setenv LD_PRELOAD=/opt/DIS/lib/libkscisock.so
-tcsh-shell> ndbd
+tcsh-shell> <userinput>setenv LD_PRELOAD=/opt/DIS/lib/libkscisock.so</userinput>
+tcsh-shell> <userinput>ndbd</userinput>
</programlisting>
<para>
@@ -8774,16 +8787,16 @@
</para>
<para>
- This is the simple access of a record through its primary
- key. In the simplest case only one record is accessed at a
- time, which means that the full cost of setting up a number
- of TCP/IP messages and a number of costs for context
- switching are borne by this single request. In the case
- where multiple primary key accesses are sent in one batch,
- those accesses will share the cost of setting up the
- necessary TCP/IP messages and context switches. If the
- TCP/IP messages are for different destinations, then
- additional TCP/IP messages need to be set up.
+ This is access of a record through its primary key. In the
+ simplest case, only one record is accessed at a time, which
+ means that the full cost of setting up a number of TCP/IP
+ messages and a number of costs for context switching are
+ borne by this single request. In the case where multiple
+ primary key accesses are sent in one batch, those accesses
+ share the cost of setting up the necessary TCP/IP messages
+ and context switches. If the TCP/IP messages are for
+ different destinations, additional TCP/IP messages need to
+ be set up.
</para>
</listitem>
@@ -8809,13 +8822,13 @@
</para>
<para>
- When no indexes exist for a lookup on a table, then a full
- scan of a table is performed. This is sent as a single
- request to the <command>ndbd</command> process, which then
- divides the table scan into a set of parallel scans on all
- cluster <command>ndbd</command> processes. In future
- versions of MySQL Cluster, an SQL node will be able to
- filter some of these scans.
+ When no indexes exist for a lookup on a table, a full table
+ scan is performed. This is sent as a single request to the
+ <command>ndbd</command> process, which then divides the
+ table scan into a set of parallel scans on all cluster
+ <command>ndbd</command> processes. In future versions of
+ MySQL Cluster, an SQL node will be able to filter some of
+ these scans.
</para>
</listitem>
@@ -8839,7 +8852,7 @@
</itemizedlist>
<para>
- To check the base performance of these access methods we have
+ To check the base performance of these access methods, we have
developed a set of benchmarks. One such benchmark,
<command>testReadPerf</command>, tests simple and batched
primary and unique key accesses. This benchmark also measures
@@ -8869,15 +8882,50 @@
dual-CPU machines equipped with AMD MP1900+ processors.
</para>
-<programlisting>
-Access type: TCP/IP sockets SCI Socket
-Serial pk access: 400 microseconds 160 microseconds
-Batched pk access: 28 microseconds 22 microseconds
-Serial uk access: 500 microseconds 250 microseconds
-Batched uk access: 70 microseconds 36 microseconds
-Indexed eq-bound: 1250 microseconds 750 microseconds
-Index range: 24 microseconds 12 microseconds
-</programlisting>
+ <informaltable>
+ <tgroup cols="3">
+ <colspec colwidth="33*"/>
+ <colspec colwidth="33*"/>
+ <colspec colwidth="33*"/>
+ <tbody>
+ <row>
+ <entry><emphasis role="bold">Access Type</emphasis></entry>
+ <entry><emphasis role="bold">TCP/IP Sockets</emphasis></entry>
+ <entry><emphasis role="bold">SCI Socket</emphasis></entry>
+ </row>
+ <row>
+ <entry>Serial pk access</entry>
+ <entry>400 microseconds</entry>
+ <entry>160 microseconds</entry>
+ </row>
+ <row>
+ <entry>Batched pk access</entry>
+ <entry>28 microseconds</entry>
+ <entry>22 microseconds</entry>
+ </row>
+ <row>
+ <entry>Serial uk access</entry>
+ <entry>500 microseconds</entry>
+ <entry>250 microseconds</entry>
+ </row>
+ <row>
+ <entry>Batched uk access</entry>
+ <entry>70 microseconds</entry>
+ <entry>36 microseconds</entry>
+ </row>
+ <row>
+ <entry>Indexed eq-bound</entry>
+ <entry>1250 microseconds</entry>
+ <entry>750 microseconds</entry>
+ </row>
+ <row>
+ <entry>Index range</entry>
+ <entry>24 microseconds</entry>
+ <entry>12 microseconds</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
<para>
We also performed another set of tests to check the performance
@@ -8902,7 +8950,7 @@
except in rare instances when communication performance is not
an issue. This can occur when scan filters make up most of
processing time or when very large batches of primary key
- accesses are achieved. In that case the CPU processing in the
+ accesses are achieved. In that case, the CPU processing in the
<command>ndbd</command> processes becomes a fairly large part of
the overhead.
</para>
@@ -8946,19 +8994,27 @@
<title>&title-mysql-cluster-limitations-in-4-1;</title>
<para>
- In this section, we provide a listing of known limitations in
- MySQL Cluster releases in the ¤t-series;.x series when
- compared to features available when using the
- <literal>MyISAM</literal> and <literal>InnoDB</literal> storage
- engines. Currently there are no plans to address these in coming
- releases of MySQL ¤t-series;; however, we will attempt to
- supply fixes for these issues in subsequent release series. If you
- check the <quote>Cluster</quote> category in the MySQL bugs
- database at <ulink url="http://bugs.mysql.com"/>, you can find
- known bugs which (if marked 4.1) we intend to correct in upcoming
- releases of MySQL 4.1.
+ In this section, we provide a list of known limitations in MySQL
+ Cluster releases in the ¤t-series;.x series compared to
+ features available when using the <literal>MyISAM</literal> and
+ <literal>InnoDB</literal> storage engines. Currently, there are no
+ plans to address these in coming releases of MySQL
+ ¤t-series;; however, we will attempt to supply fixes for
+ these issues in subsequent release series. If you check the
+ <quote>Cluster</quote> category in the MySQL bugs database at
+ <ulink url="http://bugs.mysql.com"/>, you can find known bugs
+ which (if marked 4.1) we intend to correct in upcoming releases of
+ MySQL 4.1.
</para>
+ <para>
+ The list here is intended to be complete with respect to the
+ conditions just set forth. You can report any discrepancies that
+ you encounter to the MySQL bugs database using the instructions
+ given in <xref linkend="bug-reports"/>. If we do not plan to fix
+ the problem in MySQL 4.1 we will add it to the list.
+ </para>
+
<itemizedlist>
<listitem>
@@ -9019,7 +9075,7 @@
<listitem>
<para>
<literal>NDB Cluster</literal> supports only the
- <literal>READ_COMMITTED</literal> transaction
+ <literal>READ COMMITTED</literal> transaction
isolation level.
</para>
</listitem>
@@ -9027,8 +9083,8 @@
<listitem>
<para>
There is no partial rollback of transactions. A
- duplicate key or similar error will result in a
- rollback of the entire transaction.
+ duplicate key or similar error results in a rollback
+ of the entire transaction.
</para>
</listitem>
@@ -9038,7 +9094,7 @@
<literal>SELECT</literal> from a Cluster table
includes a <literal>BLOB</literal>,
<literal>TEXT</literal>, or <literal>VARCHAR</literal>
- column, then the <literal>READ_COMMITTED</literal>
+ column, the <literal>READ COMMITTED</literal>
transaction isolation level is converted to a read
with read lock. This is done to guarantee consistency,
due to the fact that parts of the values stored in
@@ -9115,8 +9171,8 @@
one or more <literal>VARCHAR</literal> fields containing
only relatively small values, more memory and disk space
is required when using the <literal>NDB</literal> storage
- engine than would be for the same table and data using the
- <literal>MyISAM</literal> engine.
+ engine than would be the case for the same table and data
+ using the <literal>MyISAM</literal> engine.
</para>
</listitem>
@@ -9137,7 +9193,7 @@
<listitem>
<para>
- The maximum permitted size of any one row is 8k,
+ The maximum permitted size of any one row is 8KB,
<emphasis>not including data stored in
<literal>BLOB</literal> columns</emphasis>.
</para>
@@ -9231,11 +9287,10 @@
<listitem>
<para>
- The only supported isolation level is
- <literal>READ_COMMITTED</literal>. (InnoDB supports
- <literal>READ_COMMITTED</literal>,
- <literal>READ_UNCOMMITTED</literal>,
- <literal>REPEATABLE_READ</literal>, and
+ The only supported isolation level is <literal>READ
+ COMMITTED</literal>. (InnoDB supports <literal>READ
+ COMMITTED</literal>, <literal>READ UNCOMMITTED</literal>,
+ <literal>REPEATABLE READ</literal>, and
<literal>SERIALIZABLE</literal>.) See
<xref linkend="mysql-cluster-backup-troubleshooting"/>,
for information on how this can effect backup and restore
@@ -9275,8 +9330,8 @@
<para>
MySQL replication will not work correctly if updates are
done on multiple MySQL servers. However, if the database
- partitioning scheme is done at the application level, and
- no transactions take place across these partitions, then
+ partitioning scheme is done at the application level and
+ no transactions take place across these partitions,
replication can be made to work.
</para>
</listitem>
@@ -9289,11 +9344,11 @@
this means is that after a database named
<replaceable>db_name</replaceable> is created or imported
using one MySQL server, you should issue a <literal>CREATE
- DATABASE <replaceable>db_name</replaceable>;</literal>
- statement on each additional MySQL server that access the
- same MySQL Cluster. Once this has been done for a given
- MySQL server, that server should be able to detect the
- database tables without error.
+ DATABASE <replaceable>db_name</replaceable></literal>
+ statement on each additional MySQL server that accesses
+ the same MySQL Cluster. Once this has been done for a
+ given MySQL server, that server should be able to detect
+ the database tables without error.
</para>
</listitem>
@@ -9312,13 +9367,13 @@
<listitem>
<para>
All machines used in the cluster must have the same
- architecture; that is, all machines hosting nodes must be
+ architecture. That is, all machines hosting nodes must be
either big-endian or little-endian, and you cannot use a
mixture of both. For example, you cannot have a management
- node running on a PPC which directs a data node that is
- running on an x86 machine. This restriction does not apply
- to machines simply running <command>mysql</command> or
- other clients that may be accessing the cluster's SQL
+ node running on a PowerPC which directs a data node that
+ is running on an x86 machine. This restriction does not
+ apply to machines simply running <command>mysql</command>
+ or other clients that may be accessing the cluster's SQL
nodes.
</para>
</listitem>
@@ -9333,9 +9388,9 @@
uses a different storage engine, then convert it to
<literal>NDB</literal> using <literal>ALTER TABLE
<replaceable>tbl_name</replaceable>
- ENGINE=NDBCLUSTER;</literal>. In such a case, you will
- need to issue a <literal>FLUSH TABLES</literal> command to
- force the cluster to pick up the change.)
+ ENGINE=NDBCLUSTER</literal>. In such a case, you must
+ issue a <literal>FLUSH TABLES</literal> statement to force
+ the cluster to pick up the change.)
</para>
</listitem>
@@ -9384,10 +9439,10 @@
<listitem>
<para>
Multiple network interfaces for data nodes are not
- supported. Use of these is liable to cause problems
- because, in the event of a data node failure, an SQL node
- waits for confirmation that the data node went down but
- never receives it because another route to that data node
+ supported. Use of these is liable to cause problems: In
+ the event of a data node failure, an SQL node waits for
+ confirmation that the data node went down but never
+ receives it because another route to that data node
remains open. This can effectively make the cluster
inoperable.
</para>
@@ -9412,14 +9467,6 @@
</itemizedlist>
- <para>
- This listing is intended to be complete with respect to the
- conditions set forth at the beginning of this section. You can
- report any discrepancies that you encounter to the MySQL bugs
- database at http://bugs.mysql.com/. If we do not plan to fix the
- problem in MySQL 4.1, we will add it to the list above.
- </para>
-
</section>
<section id="mysql-cluster-faq">
@@ -9740,7 +9787,7 @@
<emphasis>Yes</emphasis>: For tables created with the
<literal>NDB</literal> storage engine, transactions are
supported. In MySQL ¤t-series;, Cluster supports only
- the <literal>READ_COMMITTED</literal> transaction isolation
+ the <literal>READ COMMITTED</literal> transaction isolation
level.
</para>
</listitem>
@@ -10088,7 +10135,8 @@
<listitem>
<para>
- <xref linkend="spatial-extensions"/>, are not supported.
+ Spatial extensions are not supported. See
+ <xref linkend="spatial-extensions"/>.
</para>
</listitem>
@@ -10644,7 +10692,7 @@
are stored in a set of node groups; each node group stores
a different subset of the table data. Each of the nodes
making up a node group stores a replica of the fragment
- for which that node group is responsible. Currently a
+ for which that node group is responsible. Currently, a
single cluster can support up to 48 data nodes total.
</para>
</listitem>
@@ -10772,7 +10820,7 @@
<para>
Under the <literal>NDB</literal> storage engine, each table
fragment has number of replicas stored on other data nodes in
- order to provide redundancy. Currently there may be up 4
+ order to provide redundancy. Currently, there may be up four
replicas per fragment.
</para>
</listitem>
@@ -10784,7 +10832,7 @@
<para>
A protocol providing data transfer between nodes. MySQL
- Cluster currently supports 4 different types of transporter
+ Cluster currently supports four different types of transporter
connections:
</para>
Modified: trunk/refman-4.1/sql-syntax.xml
===================================================================
--- trunk/refman-4.1/sql-syntax.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-4.1/sql-syntax.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -1099,7 +1099,7 @@
An <replaceable>index_col_name</replaceable> specification can
end with <literal>ASC</literal> or <literal>DESC</literal>.
These keywords are allowed for future extensions for specifying
- ascending or descending index value storage. Currently they are
+ ascending or descending index value storage. Currently, they are
parsed but ignored; index values are always stored in ascending
order.
</para>
@@ -1841,7 +1841,7 @@
can end with <literal>ASC</literal> or
<literal>DESC</literal>. These keywords are allowed for
future extensions for specifying ascending or descending
- index value storage. Currently they are parsed but ignored;
+ index value storage. Currently, they are parsed but ignored;
index values are always stored in ascending order.
</para>
</listitem>
Modified: trunk/refman-4.1/storage-engines.xml
===================================================================
--- trunk/refman-4.1/storage-engines.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-4.1/storage-engines.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -268,7 +268,7 @@
<para>
If you omit the <literal>ENGINE</literal> or <literal>TYPE</literal>
- option, the default storage engine is used. Normally this is
+ option, the default storage engine is used. Normally, this is
<literal>MyISAM</literal>, but you can change it by using the
<option>--default-storage-engine</option> or
<option>--default-table-type</option> server startup option, or by
Modified: trunk/refman-5.0/apis.xml
===================================================================
--- trunk/refman-5.0/apis.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.0/apis.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -3079,8 +3079,8 @@
<para>
The language of the client error messages may be changed by
- recompiling the MySQL client library. Currently you can choose
- error messages in several different languages. See
+ recompiling the MySQL client library. Currently, you can
+ choose error messages in several different languages. See
<xref linkend="languages"/>.
</para>
@@ -9760,8 +9760,8 @@
<para>
The language of the client error messages may be changed by
- recompiling the MySQL client library. Currently you can choose
- error messages in several different languages.
+ recompiling the MySQL client library. Currently, you can
+ choose error messages in several different languages.
</para>
<para>
Modified: trunk/refman-5.0/connector-odbc.xml
===================================================================
--- trunk/refman-5.0/connector-odbc.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.0/connector-odbc.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -775,7 +775,7 @@
</para>
<para>
- Normally you need to install MyODBC only on Windows machines. You
+ Normally, you need to install MyODBC only on Windows machines. You
need MyODBC for Unix only if you have a program like ColdFusion
that is running on a Unix machine and uses ODBC to connect for
database access.
Modified: trunk/refman-5.0/database-administration.xml
===================================================================
--- trunk/refman-5.0/database-administration.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.0/database-administration.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -880,7 +880,7 @@
<para>
Flush (synchronize) all changes to disk after each SQL
- statement. Normally MySQL does a write of all changes to
+ statement. Normally, MySQL does a write of all changes to
disk only after each SQL statement and lets the operating
system handle the synchronizing to disk. See
<xref linkend="crashing"/>.
@@ -5292,7 +5292,7 @@
taken from the cache if possible, and only when the cache
is empty is a new thread created. This variable can be
increased to improve performance if you have a lot of new
- connections. (Normally this doesn't provide a notable
+ connections. (Normally, this doesn't provide a notable
performance improvement if you have a good thread
implementation.) By examining the difference between the
<literal>Connections</literal> and
@@ -22850,7 +22850,7 @@
</para>
<para>
- <emphasis role="bold">Warning</emphasis>: Normally you should
+ <emphasis role="bold">Warning</emphasis>: Normally, you should
never have two servers that update data in the same databases.
This may lead to unpleasant surprises if your operating system
does not support fault-free system locking. If (despite this
Modified: trunk/refman-5.0/functions.xml
===================================================================
--- trunk/refman-5.0/functions.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.0/functions.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -11188,10 +11188,10 @@
<para>
The functions also can be useful for sorting
- <literal>ENUM</literal> columns in lexical order. Normally sorting
- of <literal>ENUM</literal> columns occurs using the internal
- numeric values. Casting the values to <literal>CHAR</literal>
- results in a lexical sort:
+ <literal>ENUM</literal> columns in lexical order. Normally,
+ sorting of <literal>ENUM</literal> columns occurs using the
+ internal numeric values. Casting the values to
+ <literal>CHAR</literal> results in a lexical sort:
</para>
<remark role="help-example"/>
Modified: trunk/refman-5.0/innodb.xml
===================================================================
--- trunk/refman-5.0/innodb.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.0/innodb.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -1164,7 +1164,7 @@
<para>
The number of file I/O threads in <literal>InnoDB</literal>.
- Normally this should be left at the default value of 4, but
+ Normally, this should be left at the default value of 4, but
disk I/O on Windows may benefit from a larger number. On Unix,
increasing the number has no effect; <literal>InnoDB</literal>
always uses the default value.
@@ -1315,7 +1315,7 @@
</para>
<para>
- Normally <literal>InnoDB</literal> uses an algorithm called
+ Normally, <literal>InnoDB</literal> uses an algorithm called
<firstterm>next-key locking</firstterm>.
<literal>InnoDB</literal> performs row-level locking in such a
way that when it searches or scans a table index, it sets
@@ -1588,7 +1588,7 @@
<para>
The number of identical copies of log groups we keep for the
- database. Currently this should be set to 1.
+ database. Currently, this should be set to 1.
</para>
</listitem>
@@ -5695,7 +5695,7 @@
The data files that you define in the configuration file form
the tablespace of <literal>InnoDB</literal>. The files are
simply concatenated to form the tablespace. There is no striping
- in use. Currently you cannot define where within the tablespace
+ in use. Currently, you cannot define where within the tablespace
your tables are allocated. However, in a newly created
tablespace, <literal>InnoDB</literal> allocates space starting
from the first data file.
Modified: trunk/refman-5.0/installing.xml
===================================================================
--- trunk/refman-5.0/installing.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.0/installing.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -8855,10 +8855,11 @@
<listitem>
<para>
The <filename>sql_yacc.cc</filename> file is generated from
- <filename>sql_yacc.yy</filename>. Normally the build process
- does not need to create <filename>sql_yacc.cc</filename>
- because MySQL comes with a pre-generated copy. However, if
- you do need to re-create it, you might encounter this error:
+ <filename>sql_yacc.yy</filename>. Normally, the build
+ process does not need to create
+ <filename>sql_yacc.cc</filename> because MySQL comes with a
+ pre-generated copy. However, if you do need to re-create it,
+ you might encounter this error:
</para>
<programlisting>
Modified: trunk/refman-5.0/ndbcluster.xml
===================================================================
--- trunk/refman-5.0/ndbcluster.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.0/ndbcluster.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -2171,7 +2171,7 @@
</remark>
<para>
- Currently the configuration file is in INI format, and is
+ Currently, the configuration file is in INI format, and is
named <filename>config.ini</filename> by default. It is read
by <command>ndb_mgmd</command> at startup and can be placed
anywhere. Its location and name are specified by using
@@ -2773,11 +2773,11 @@
</para>
<para>
- For each parameter it is possible to use <literal>k</literal>,
+ For each parameter it is possible to use <literal>K</literal>,
<literal>M</literal>, or <literal>G</literal> as a suffix to
indicate units of 1024, 1024×1024, or
1024×1024×1024. (For example,
- <literal>100k</literal> means 100 × 1024 = 102400.)
+ <literal>100K</literal> means 100 × 1024 = 102400.)
Parameters and values are currently case-sensitive.
</para>
@@ -3144,7 +3144,7 @@
</remark>
<para>
- Currently the only partitioning algorithm is hashing and
+ Currently, the only partitioning algorithm is hashing and
ordered indexes are local to each node. Thus ordered
indexes cannot be used to handle uniqueness constraints in
the general case.
@@ -3242,10 +3242,10 @@
<para>
Transaction records are allocated to individual MySQL
- servers. Normally there is at least one transaction record
- allocated per connection that using any table in the
- cluster. For this reason, one should ensure that there are
- more transaction records in the cluster than there are
+ servers. Normally, there is at least one transaction
+ record allocated per connection that using any table in
+ the cluster. For this reason, one should ensure that there
+ are more transaction records in the cluster than there are
concurrent connections to all MySQL servers in the
cluster.
</para>
@@ -6891,7 +6891,7 @@
</para>
<para>
- Turn cluster log on.
+ Turns the cluster log on.
</para>
</listitem>
@@ -6901,7 +6901,7 @@
</para>
<para>
- Turn cluster log off.
+ Turns the cluster log off.
</para>
</listitem>
@@ -6911,7 +6911,7 @@
</para>
<para>
- Information about cluster log settings.
+ Provides information about cluster log settings.
</para>
</listitem>
@@ -6946,7 +6946,7 @@
The following table describes the default setting (for all
data nodes) of the cluster log category threshold. If an event
has a priority with a value lower than or equal to the
- priority threshold, then it is reported in the cluster log.
+ priority threshold, it is reported in the cluster log.
</para>
<para>
@@ -7009,7 +7009,7 @@
</para>
<para>
- Event severity levels are shown below.
+ The following table shows the event severity levels.
(<emphasis role="bold">Note</emphasis>: These correspond to
Unix <literal>syslog</literal> levels, except for
<literal>LOG_EMERG</literal> and
@@ -7018,9 +7018,9 @@
<informaltable>
<tgroup cols="3">
- <colspec colwidth="50*"/>
<colspec colwidth="10*"/>
- <colspec colwidth="50*"/>
+ <colspec colwidth="20*"/>
+ <colspec colwidth="70*"/>
<tbody>
<row>
<entry><emphasis role="bold">1</emphasis></entry>
@@ -7077,29 +7077,40 @@
<title>&title-mysql-cluster-log-events;</title>
<para>
- An event report as reported in the event logs has the
- following format: <literal><replaceable>datetime</replaceable>
- [<replaceable>string</replaceable>]
- <replaceable>severity</replaceable> --
- <replaceable>message</replaceable></literal>. For example:
+ An event report reported in the event logs has the following
+ format:
</para>
<programlisting>
+<replaceable>datetime</replaceable> [<replaceable>string</replaceable>] <replaceable>severity</replaceable> -- <replaceable>message</replaceable>
+</programlisting>
+
+ <para>
+ For example:
+ </para>
+
+<programlisting>
09:19:30 2005-07-24 [NDB] INFO -- Node 4 Start phase 4 completed
</programlisting>
<para>
- All reportable events are discussed in this section, ordered
- by category and severity level within each category.
+ This section discusses all reportable events, ordered by
+ category and severity level within each category.
</para>
<para>
+ In the event descriptions, GCP and LCP mean <quote>Global
+ Checkpoint</quote> and <quote>Local Checkpoint,</quote>
+ respectively.
+ </para>
+
+ <para>
<emphasis role="bold"><literal>CONNECTION</literal>
Events</emphasis>
</para>
<para>
- These are events associated with connections between Cluster
+ These events are associated with connections between Cluster
nodes.
</para>
@@ -7119,25 +7130,25 @@
<row>
<entry>DB nodes connected</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Data nodes connected</entry>
</row>
<row>
<entry>DB nodes disconnected</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Data nodes disconnected</entry>
</row>
<row>
<entry>Communication closed</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>SQL node or data node connection closed</entry>
</row>
<row>
<entry>Communication opened</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>SQL node or data node connection opened</entry>
</row>
</tbody>
@@ -7154,11 +7165,6 @@
checkpoints.
</para>
- <para>
- (<emphasis role="bold">Note</emphasis>: GCP = Global
- Checkpoint, LCP = Local Checkpoint.)
- </para>
-
<informaltable>
<tgroup cols="4">
<colspec colwidth="35*"/>
@@ -7175,43 +7181,43 @@
<row>
<entry>LCP stopped in calc keep GCI</entry>
<entry>0</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>LCP stopped</entry>
</row>
<row>
<entry>Local checkpoint fragment completed</entry>
<entry>11</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>LCP on a fragment has been completed</entry>
</row>
<row>
<entry>Global checkpoint completed</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>GCP finished</entry>
</row>
<row>
<entry>Global checkpoint started</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Start of GCP: REDO log is written to disk</entry>
</row>
<row>
<entry>Local checkpoint completed</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>LCP completed normally</entry>
</row>
<row>
<entry>Local checkpoint started</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Start of LCP: data written to disk</entry>
</row>
<row>
<entry>Report undo log blocked</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>UNDO logging blocked; buffer near overflow</entry>
</row>
</tbody>
@@ -7247,26 +7253,26 @@
<row>
<entry>Internal start signal received STTORRY</entry>
<entry>15</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Blocks received after completion of restart</entry>
</row>
<row>
<entry>Undo records executed</entry>
<entry>15</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>New REDO log started</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>GCI keep <replaceable>X</replaceable>, newest restorable GCI
<replaceable>Y</replaceable></entry>
</row>
<row>
<entry>New log started</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Log part <replaceable>X</replaceable>, start MB
<replaceable>Y</replaceable>, stop MB
<replaceable>Z</replaceable></entry>
@@ -7274,50 +7280,50 @@
<row>
<entry>Node has been refused for inclusion in the cluster</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Node cannot be included in cluster due to misconfiguration, inability to
establish communication, or other problem</entry>
</row>
<row>
<entry>DB node neighbors</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Shows neighboring data nodes</entry>
</row>
<row>
<entry>DB node start phase <replaceable>X</replaceable> completed</entry>
<entry>4</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>A data node start phase has been completed</entry>
</row>
<row>
<entry>Node has been successfully included into the cluster</entry>
<entry>3</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Displays the node, managing node, and dynamic ID</entry>
</row>
<row>
<entry>DB node start phases initiated</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>NDB Cluster nodes starting</entry>
</row>
<row>
<entry>DB node all start phases completed</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>NDB Cluster nodes started</entry>
</row>
<row>
<entry>DB node shutdown initiated</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Shutdown of data node has commenced</entry>
</row>
<row>
<entry>DB node shutdown aborted</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Unable to shut down data node normally</entry>
</row>
</tbody>
@@ -7350,53 +7356,55 @@
<row>
<entry>Node failure phase completed</entry>
<entry>8</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>Reports completion of node failure phases</entry>
</row>
<row>
<entry>Node has failed, node state was <replaceable>X</replaceable></entry>
<entry>8</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>Reports that a node has failed</entry>
</row>
<row>
<entry>Report arbitrator results</entry>
<entry>2</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>There are 8 different possible results for arbitration attempts:
<itemizedlist>
<listitem>
<para>
- Arbitration check failed - less than 1/2 nodes
- left
+ Arbitration check failed — less than 1/2
+ nodes left
</para>
</listitem>
<listitem>
<para>
- Arbitration check succeeded - node group
+ Arbitration check succeeded — node group
majority
</para>
</listitem>
<listitem>
<para>
- Arbitration check failed - missing node group
+ Arbitration check failed — missing node
+ group
</para>
</listitem>
<listitem>
<para>
- Network partitioning - arbitration required
+ Network partitioning — arbitration
+ required
</para>
</listitem>
<listitem>
<para>
- Arbitration succeeded - affirmative response
- from node <replaceable>X</replaceable>
+ Arbitration succeeded — affirmative
+ response from node <replaceable>X</replaceable>
</para>
</listitem>
@@ -7424,61 +7432,61 @@
<row>
<entry>Completed copying a fragment</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Completed copying of dictionary information</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Completed copying distribution information</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Starting to copy fragments</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Completed copying all fragments</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>GCP takeover started</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>GCP takeover completed</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>LCP takeover started</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>LCP takeover completed (state = <replaceable>X</replaceable>)</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Report whether an arbitrator is found or not</entry>
<entry>6</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>There are 7 different possible outcomes when seeking an arbitrator:
<itemizedlist>
@@ -7572,44 +7580,44 @@
<row>
<entry>Report job scheduling statistics</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Mean internal job scheduling statistics</entry>
</row>
<row>
<entry>Sent number of bytes</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Mean number of bytes sent to node <replaceable>X</replaceable></entry>
</row>
<row>
<entry>Received # of bytes</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Mean number of bytes received from node <replaceable>X</replaceable></entry>
</row>
<row>
<entry>Report transaction statistics</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Numbers of: transactions, commits, reads, simple reads, writes,
concurrent operations, attribute info, and aborts</entry>
</row>
<row>
<entry>Report operations</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Number of operations</entry>
</row>
<row>
<entry>Report table create</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Memory usage</entry>
<entry>5</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Data and index memory usage (80%, 90%, and 100%)</entry>
</row>
</tbody>
@@ -7622,7 +7630,7 @@
</para>
<para>
- These events relate to Cluster errors and warnings; the
+ These events relate to Cluster errors and warnings. The
presence of one or more of these generally indicates that a
major malfunction or failure has occurred.
</para>
@@ -7643,7 +7651,7 @@
<row>
<entry>Dead due to missed heartbeat</entry>
<entry>8</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>Node <replaceable>X</replaceable> declared <quote>dead</quote> due to
missed heartbeat</entry>
</row>
@@ -7656,20 +7664,20 @@
<row>
<entry>Transporter warnings</entry>
<entry>8</entry>
- <entry>WARNING</entry>
+ <entry><literal>WARNING</literal></entry>
<entry/>
</row>
<row>
<entry>Missed heartbeats</entry>
<entry>8</entry>
- <entry>WARNING</entry>
+ <entry><literal>WARNING</literal></entry>
<entry>Node <replaceable>X</replaceable> missed heartbeat
#<replaceable>Y</replaceable></entry>
</row>
<row>
<entry>General warning events</entry>
<entry>2</entry>
- <entry>WARNING</entry>
+ <entry><literal>WARNING</literal></entry>
<entry/>
</row>
</tbody>
@@ -7703,19 +7711,19 @@
<row>
<entry>Sent heartbeat</entry>
<entry>12</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Heartbeat sent to node <replaceable>X</replaceable></entry>
</row>
<row>
<entry>Create log bytes</entry>
<entry>11</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Log part, log file, MB</entry>
</row>
<row>
<entry>General info events</entry>
<entry>2</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
</tbody>
@@ -7731,7 +7739,7 @@
<title>&title-mysql-cluster-single-user-mode;</title>
<para>
- Single user mode allows the database administrator to restrict
+ Single-user mode allows the database administrator to restrict
access to the database system to a single MySQL server (SQL
node). When entering single-user mode, all connections to all
other MySQL servers are closed gracefully and all running
@@ -7741,12 +7749,15 @@
<para>
Once the cluster has entered single-user mode, only the
- designated SQL node is granted access to the database. You can
- use the <command>ALL STATUS</command> command to see when the
- cluster has entered single-user mode.
+ designated SQL node is granted access to the database.
</para>
<para>
+ You can use the <command>ALL STATUS</command> command to see
+ when the cluster has entered single-user mode.
+ </para>
+
+ <para>
Example:
</para>
@@ -7781,7 +7792,7 @@
The command <command>EXIT SINGLE USER MODE</command> changes the
state of the cluster's data nodes from single-user mode to
normal mode. MySQL Servers waiting for a connection (that is,
- for the cluster to become ready and available), are now
+ for the cluster to become ready and available), are again
permitted to connect. The MySQL Server denoted as the
single-user SQL node continues to run (if still connected)
during and after the state change.
@@ -7800,13 +7811,17 @@
</programlisting>
<para>
- The recommended way to handle a node failure when running in
- single-user mode is to do either of the following:
+ There are two recommended ways to handle a node failure when
+ running in single-user mode:
</para>
<itemizedlist>
<listitem>
+ <para>
+ Method 1:
+ </para>
+
<orderedlist>
<listitem>
@@ -7831,16 +7846,12 @@
</orderedlist>
</listitem>
- </itemizedlist>
-
- <para>
- <emphasis>or</emphasis>
- </para>
-
- <itemizedlist>
-
<listitem>
<para>
+ Method 2:
+ </para>
+
+ <para>
Restart database nodes prior to entering single-user mode.
</para>
</listitem>
@@ -7872,7 +7883,7 @@
<listitem>
<para>
<emphasis role="bold">Metadata</emphasis>: the names and
- definitions of all database tables.
+ definitions of all database tables
</para>
</listitem>
@@ -7895,8 +7906,8 @@
</itemizedlist>
<para>
- Each of these is saved on all nodes participating in the
- backup. During backup each node saves these three parts into
+ Each of these parts is saved on all nodes participating in the
+ backup. During backup, each node saves these three parts into
three files on disk:
</para>
@@ -7922,11 +7933,11 @@
<para>
A data file containing the table records, which are saved
- on a per-fragment basis; that is, different nodes save
+ on a per-fragment basis. That is, different nodes save
different fragments during the backup. The file saved by
- each node starts with a header that states to which tables
- the records belong. Following the list of records there is
- a footer containing a checksum for all records.
+ each node starts with a header that states the tables to
+ which the records belong. Following the list of records
+ there is a footer containing a checksum for all records.
</para>
</listitem>
@@ -7966,7 +7977,7 @@
</para>
<para>
- To create a backup using the management server involves the
+ Creating a backup using the management server involves the
following steps:
</para>
@@ -8002,8 +8013,8 @@
will also be saved in the cluster log, if it has not been
configured otherwise.) This means that the cluster has
received and processed the backup request. It does
- <emphasis>not</emphasis> mean that the backup has been
- completed.
+ <emphasis>not</emphasis> mean that the backup has
+ finished.
</para>
</listitem>
@@ -8018,7 +8029,7 @@
</orderedlist>
<para>
- To abort a backup already in progress:
+ To abort a backup that is already in progress:
</para>
<orderedlist>
@@ -8046,14 +8057,14 @@
The management server will acknowledge the abort request
with <literal>Abort of backup
<replaceable>backup_id</replaceable> ordered</literal>;
- note that no actual response to this request has yet been
- received.
+ note that it has received no actual response to this
+ request yet.
</para>
</listitem>
<listitem>
<para>
- Once the backup has been aborted, the management server
+ After the backup has been aborted, the management server
will report <literal>Backup
<replaceable>backup_id</replaceable> has been aborted for
reason <replaceable>XYZ</replaceable></literal>. This
@@ -8077,9 +8088,9 @@
<para>
<emphasis role="bold">Note</emphasis>: If there is no backup
with ID <replaceable>backup_id</replaceable> running when it
- is aborted, the management server does not make any explicit
- response. However, the fact that an invalid abort command was
- sent is indicated in the cluster log.
+ is aborted, the management server makes no explicit response.
+ However, the fact that an invalid abort command was sent is
+ indicated in the cluster log.
</para>
</section>
@@ -8104,17 +8115,18 @@
</para>
<para>
- The first time you run the restoration program, you also need
- to restore the metadata; in other words, you must re-create
- the database tables. (Note that the cluster should have an
- empty database when starting to restore a backup.) The restore
- program acts as an API to the cluster and therefore requires a
- free connection to connect to the cluster. This can be
- verified with the <command>ndb_mgm</command> command
- <command>SHOW</command> (you can accomplish this from a system
- shell using <command>ndb_mgm -e SHOW</command>). The
- <option>-c <replaceable>connectstring</replaceable></option>
- option may be used to locate the MGM node (see
+ The first time you run the <command>ndb_restore</command>
+ restoration program, you also need to restore the metadata. In
+ other words, you must re-create the database tables. (Note
+ that the cluster should have an empty database when starting
+ to restore a backup.) The restore program acts as an API to
+ the cluster and therefore requires a free connection to
+ connect to the cluster. This can be verified with the
+ <command>ndb_mgm</command> command <command>SHOW</command>
+ (you can accomplish this from a system shell using
+ <command>ndb_mgm -e SHOW</command>). The <option>-c
+ <replaceable>connectstring</replaceable></option> option may
+ be used to locate the MGM node (see
<xref linkend="mysql-cluster-connectstring"/>, for information
on connectstrings). The backup files must be present in the
directory given as an argument to the restoration program.
@@ -8146,7 +8158,7 @@
<title>&title-mysql-cluster-backup-configuration;</title>
<para>
- There are four configuration parameters essential for backup:
+ Four configuration parameters are essential for backup:
</para>
<itemizedlist>
@@ -8157,8 +8169,8 @@
</para>
<para>
- Amount of memory used to buffer data before it is written
- to disk.
+ The amount of memory used to buffer data before it is
+ written to disk.
</para>
</listitem>
@@ -8168,8 +8180,8 @@
</para>
<para>
- Amount of memory used to buffer log records before these
- are written to disk.
+ The amount of memory used to buffer log records before
+ these are written to disk.
</para>
</listitem>
@@ -8179,7 +8191,7 @@
</para>
<para>
- Total memory allocated in a database node for backups.
+ The total memory allocated in a database node for backups.
This should be the sum of the memory allocated for the
backup data buffer and the backup log buffer.
</para>
@@ -8191,8 +8203,8 @@
</para>
<para>
- Size of blocks written to disk. This applies for both the
- backup data buffer and the backup log buffer.
+ The size of blocks written to disk. This applies for both
+ the backup data buffer and the backup log buffer.
</para>
</listitem>
@@ -8255,7 +8267,7 @@
</para>
<para>
- Currently the MySQL Cluster codebase includes support for four
+ Currently, the MySQL Cluster codebase includes support for four
different transporters. Most users today employ TCP/IP over
Ethernet because it is ubiquitous. TCP/IP is also by far the
best-tested transporter in MySQL Cluster.
@@ -8271,8 +8283,8 @@
<para>
For users who desire it, it is also possible to use cluster
interconnects to enhance performance even further. There are two
- ways to achieve this: either a custom transporter can be designed
- to handle this case, or one can use socket implementations that
+ ways to achieve this: Either a custom transporter can be designed
+ to handle this case, or you can use socket implementations that
bypass the TCP/IP stack to one extent or another. We have
experimented with both of these techniques using the SCI (Scalable
Coherent Interface) technology developed by
@@ -8284,10 +8296,10 @@
<title>&title-sci-sockets;</title>
<para>
- In this section we will show how one can adapt a cluster
- configured for normal TCP/IP communication to use SCI Sockets
- instead. This documentation is based on SCI Sockets version
- 2.3.0 as of 01 October 2004.
+ In this section, we show how to adapt a cluster configured for
+ normal TCP/IP communication to use SCI Sockets instead. This
+ documentation is based on SCI Sockets version 2.3.0 as of 01
+ October 2004.
</para>
<para>
@@ -8313,7 +8325,7 @@
There are essentially four requirements for SCI Sockets:
</para>
- <orderedlist>
+ <itemizedlist>
<listitem>
<para>
@@ -8341,7 +8353,7 @@
</para>
</listitem>
- </orderedlist>
+ </itemizedlist>
<para>
This process needs to be repeated for each machine in the
@@ -8353,7 +8365,7 @@
Two packages need to be retrieved to get SCI Sockets working:
</para>
- <orderedlist>
+ <itemizedlist>
<listitem>
<para>
@@ -8369,7 +8381,7 @@
</para>
</listitem>
- </orderedlist>
+ </itemizedlist>
<para>
Currently, these are available only in source code format. The
@@ -8421,7 +8433,8 @@
this example we will place the installation in
<filename>/opt/DIS</filename>.
(<emphasis role="bold">Note</emphasis>: You will most likely
- need to run the following as the system root user.)
+ need to run the following as the system <literal>root</literal>
+ user.)
</para>
<programlisting>
@@ -8484,9 +8497,9 @@
ports, each of which can support a ring. It is necessary to make
sure that different rings use different node ID spaces. In a
typical configuration, the first port uses node IDs below 64 (4
- - 60), the next 64 node IDs (68 - 124) are assigned to the next
- port, and so on, with node IDs 452 - 508 being assigned to the
- eighth port.
+ − 60), the next 64 node IDs (68 − 124) are assigned
+ to the next port, and so on, with node IDs 452 − 508 being
+ assigned to the eighth port.
</para>
<para>
@@ -8533,9 +8546,9 @@
<para>
To set the node ID for an SCI card use the following command in
the <filename>/opt/DIS/sbin</filename> directory. In this
- example <option>-c 1</option> refers to the number of the SCI
- card (this will always be 1 if there is only 1 card in the
- machine), <option>-a 0</option> refers to adapter 0; and
+ example, <option>-c 1</option> refers to the number of the SCI
+ card (this is always 1 if there is only 1 card in the machine);
+ <option>-a 0</option> refers to adapter 0; and
<literal>68</literal> is the node ID:
</para>
@@ -8634,7 +8647,7 @@
<para>
If you discover an error and need to change the SCI socket
- configuration, it is necessary to use the
+ configuration, it is necessary to use
<command>ksocketconfig</command> to accomplish this task:
</para>
@@ -8651,7 +8664,7 @@
To ensure that SCI sockets are actually being used, you can
employ the <command>latency_bench</command> test program. Using
this utility's server component, clients can connect to the
- server to test the latency of the connection; determining
+ server to test the latency of the connection. Determining
whether SCI is enabled should be fairly simple from observing
the latency. (<emphasis role="bold">Note</emphasis>: Before
using <command>latency_bench</command>, it is necessary to set
@@ -8703,8 +8716,8 @@
</para>
<programlisting>
-bash-shell> export LD_PRELOAD=/opt/DIS/lib/libkscisock.so
-bash-shell> ndbd
+bash-shell> <userinput>export LD_PRELOAD=/opt/DIS/lib/libkscisock.so</userinput>
+bash-shell> <userinput>ndbd</userinput>
</programlisting>
<para>
@@ -8712,8 +8725,8 @@
</para>
<programlisting>
-tcsh-shell> setenv LD_PRELOAD=/opt/DIS/lib/libkscisock.so
-tcsh-shell> ndbd
+tcsh-shell> <userinput>setenv LD_PRELOAD=/opt/DIS/lib/libkscisock.so</userinput>
+tcsh-shell> <userinput>ndbd</userinput>
</programlisting>
<para>
@@ -8747,16 +8760,16 @@
</para>
<para>
- This is the simple access of a record through its primary
- key. In the simplest case only one record is accessed at a
- time, which means that the full cost of setting up a number
- of TCP/IP messages and a number of costs for context
- switching are borne by this single request. In the case
- where multiple primary key accesses are sent in one batch,
- those accesses will share the cost of setting up the
- necessary TCP/IP messages and context switches. If the
- TCP/IP messages are for different destinations, then
- additional TCP/IP messages need to be set up.
+ This is access of a record through its primary key. In the
+ simplest case, only one record is accessed at a time, which
+ means that the full cost of setting up a number of TCP/IP
+ messages and a number of costs for context switching are
+ borne by this single request. In the case where multiple
+ primary key accesses are sent in one batch, those accesses
+ share the cost of setting up the necessary TCP/IP messages
+ and context switches. If the TCP/IP messages are for
+ different destinations, additional TCP/IP messages need to
+ be set up.
</para>
</listitem>
@@ -8782,13 +8795,13 @@
</para>
<para>
- When no indexes exist for a lookup on a table, then a full
- scan of a table is performed. This is sent as a single
- request to the <command>ndbd</command> process, which then
- divides the table scan into a set of parallel scans on all
- cluster <command>ndbd</command> processes. In future
- versions of MySQL Cluster, an SQL node will be able to
- filter some of these scans.
+ When no indexes exist for a lookup on a table, a full table
+ scan is performed. This is sent as a single request to the
+ <command>ndbd</command> process, which then divides the
+ table scan into a set of parallel scans on all cluster
+ <command>ndbd</command> processes. In future versions of
+ MySQL Cluster, an SQL node will be able to filter some of
+ these scans.
</para>
</listitem>
@@ -8811,7 +8824,7 @@
</itemizedlist>
<para>
- To check the base performance of these access methods we have
+ To check the base performance of these access methods, we have
developed a set of benchmarks. One such benchmark,
<command>testReadPerf</command>, tests simple and batched
primary and unique key accesses. This benchmark also measures
@@ -8841,15 +8854,50 @@
dual-CPU machines equipped with AMD MP1900+ processors.
</para>
-<programlisting>
-Access type: TCP/IP sockets SCI Socket
-Serial pk access: 400 microseconds 160 microseconds
-Batched pk access: 28 microseconds 22 microseconds
-Serial uk access: 500 microseconds 250 microseconds
-Batched uk access: 70 microseconds 36 microseconds
-Indexed eq-bound: 1250 microseconds 750 microseconds
-Index range: 24 microseconds 12 microseconds
-</programlisting>
+ <informaltable>
+ <tgroup cols="3">
+ <colspec colwidth="33*"/>
+ <colspec colwidth="33*"/>
+ <colspec colwidth="33*"/>
+ <tbody>
+ <row>
+ <entry><emphasis role="bold">Access Type</emphasis></entry>
+ <entry><emphasis role="bold">TCP/IP Sockets</emphasis></entry>
+ <entry><emphasis role="bold">SCI Socket</emphasis></entry>
+ </row>
+ <row>
+ <entry>Serial pk access</entry>
+ <entry>400 microseconds</entry>
+ <entry>160 microseconds</entry>
+ </row>
+ <row>
+ <entry>Batched pk access</entry>
+ <entry>28 microseconds</entry>
+ <entry>22 microseconds</entry>
+ </row>
+ <row>
+ <entry>Serial uk access</entry>
+ <entry>500 microseconds</entry>
+ <entry>250 microseconds</entry>
+ </row>
+ <row>
+ <entry>Batched uk access</entry>
+ <entry>70 microseconds</entry>
+ <entry>36 microseconds</entry>
+ </row>
+ <row>
+ <entry>Indexed eq-bound</entry>
+ <entry>1250 microseconds</entry>
+ <entry>750 microseconds</entry>
+ </row>
+ <row>
+ <entry>Index range</entry>
+ <entry>24 microseconds</entry>
+ <entry>12 microseconds</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
<para>
We also performed another set of tests to check the performance
@@ -8874,7 +8922,7 @@
except in rare instances when communication performance is not
an issue. This can occur when scan filters make up most of
processing time or when very large batches of primary key
- accesses are achieved. In that case the CPU processing in the
+ accesses are achieved. In that case, the CPU processing in the
<command>ndbd</command> processes becomes a fairly large part of
the overhead.
</para>
@@ -8927,20 +8975,28 @@
</remark>
<para>
- In this section, we provide a listing of known limitations in
- MySQL Cluster releases in the ¤t-series;.x series when
- compared to features available when using the
- <literal>MyISAM</literal> and <literal>InnoDB</literal> storage
- engines. Currently there are no plans to address these in coming
- releases of MySQL ¤t-series;; however, we will attempt to
- supply fixes for these issues in subsequent release series. If you
- check the <quote>Cluster</quote> category in the MySQL bugs
- database at <ulink url="http://bugs.mysql.com"/>, you can find
- known bugs which (if marked <quote>¤t-series;</quote>) we
- intend to correct in upcoming releases of MySQL ¤t-series;.
+ In this section, we provide a list of known limitations in MySQL
+ Cluster releases in the ¤t-series;.x series compared to
+ features available when using the <literal>MyISAM</literal> and
+ <literal>InnoDB</literal> storage engines. Currently, there are no
+ plans to address these in coming releases of MySQL
+ ¤t-series;; however, we will attempt to supply fixes for
+ these issues in subsequent release series. If you check the
+ <quote>Cluster</quote> category in the MySQL bugs database at
+ <ulink url="http://bugs.mysql.com"/>, you can find known bugs
+ which (if marked <quote>¤t-series;</quote>) we intend to
+ correct in upcoming releases of MySQL ¤t-series;.
</para>
<para>
+ The list here is intended to be complete with respect to the
+ conditions just set forth. You can report any discrepancies that
+ you encounter to the MySQL bugs database using the instructions
+ given in <xref linkend="bug-reports"/>. If we do not plan to fix
+ the problem in MySQL ¤t-series;, we will add it to the list.
+ </para>
+
+ <para>
(<emphasis role="bold">Note</emphasis>: See the end of this
section for a list of issues in MySQL &previous-series; Cluster
that have been resolved in the current version.)
@@ -8994,7 +9050,7 @@
<listitem>
<para>
<literal>NDB Cluster</literal> supports only the
- <literal>READ_COMMITTED</literal> transaction
+ <literal>READ COMMITTED</literal> transaction
isolation level.
</para>
</listitem>
@@ -9002,8 +9058,8 @@
<listitem>
<para>
There is no partial rollback of transactions. A
- duplicate key or similar error will result in a
- rollback of the entire transaction.
+ duplicate key or similar error results in a rollback
+ of the entire transaction.
</para>
</listitem>
@@ -9013,7 +9069,7 @@
<literal>SELECT</literal> from a Cluster table
includes a <literal>BLOB</literal>,
<literal>TEXT</literal>, or <literal>VARCHAR</literal>
- column, then the <literal>READ_COMMITTED</literal>
+ column, the <literal>READ COMMITTED</literal>
transaction isolation level is converted to a read
with read lock. This is done to guarantee consistency,
due to the fact that parts of the values stored in
@@ -9090,10 +9146,10 @@
<literal>VARCHAR</literal> fields containing only
relatively small values, more memory and disk space is
required when using the <literal>NDB</literal> storage
- engine than would be for the same table and data using the
- <literal>MyISAM</literal> engine. (In other words, in the
- case of a <literal>VARCHAR</literal> column, the column
- requires the same amount of storage as a
+ engine than would be the case for the same table and data
+ using the <literal>MyISAM</literal> engine. (In other
+ words, in the case of a <literal>VARCHAR</literal> column,
+ the column requires the same amount of storage as a
<literal>CHAR</literal> column of the same size.)
</para>
</listitem>
@@ -9114,7 +9170,7 @@
<listitem>
<para>
- The maximum permitted size of any one row is 8k,
+ The maximum permitted size of any one row is 8KB,
<emphasis>not including data stored in
<literal>BLOB</literal> columns</emphasis>.
</para>
@@ -9209,11 +9265,10 @@
<listitem>
<para>
- The only supported isolation level is
- <literal>READ_COMMITTED</literal>. (InnoDB supports
- <literal>READ_COMMITTED</literal>,
- <literal>READ_COMMITTED</literal>,
- <literal>REPEATABLE_READ</literal>, and
+ The only supported isolation level is <literal>READ
+ COMMITTED</literal>. (InnoDB supports <literal>READ
+ COMMITTED</literal>, <literal>READ COMMITTED</literal>,
+ <literal>REPEATABLE READ</literal>, and
<literal>SERIALIZABLE</literal>.) See
<xref linkend="mysql-cluster-backup-troubleshooting"/>,
for information on how this can effect backup and restore
@@ -9253,8 +9308,8 @@
<para>
MySQL replication will not work correctly if updates are
done on multiple MySQL servers. However, if the database
- partitioning scheme is done at the application level, and
- no transactions take place across these partitions, then
+ partitioning scheme is done at the application level and
+ no transactions take place across these partitions,
replication can be made to work.
</para>
</listitem>
@@ -9267,11 +9322,11 @@
this means is that after a database named
<replaceable>db_name</replaceable> is created or imported
using one MySQL server, you should issue a <literal>CREATE
- DATABASE <replaceable>db_name</replaceable>;</literal>
- statement on each additional MySQL server that access the
- same MySQL Cluster. (As of MySQL 5.0.2 you may also use
- <literal>CREATE SCHEMA
- <replaceable>db_name</replaceable>;</literal>.) Once this
+ DATABASE <replaceable>db_name</replaceable></literal>
+ statement on each additional MySQL server that accesses
+ the same MySQL Cluster. (As of MySQL 5.0.2, you may also
+ use <literal>CREATE SCHEMA
+ <replaceable>db_name</replaceable></literal>.) Once this
has been done for a given MySQL server, that server should
be able to detect the database tables without error.
</para>
@@ -9292,13 +9347,13 @@
<listitem>
<para>
All machines used in the cluster must have the same
- architecture; that is, all machines hosting nodes must be
+ architecture. That is, all machines hosting nodes must be
either big-endian or little-endian, and you cannot use a
mixture of both. For example, you cannot have a management
- node running on a PPC which directs a data node that is
- running on an x86 machine. This restriction does not apply
- to machines simply running <command>mysql</command> or
- other clients that may be accessing the cluster's SQL
+ node running on a PowerPC which directs a data node that
+ is running on an x86 machine. This restriction does not
+ apply to machines simply running <command>mysql</command>
+ or other clients that may be accessing the cluster's SQL
nodes.
</para>
</listitem>
@@ -9313,9 +9368,9 @@
uses a different storage engine, then convert it to
<literal>NDB</literal> using <literal>ALTER TABLE
<replaceable>tbl_name</replaceable>
- ENGINE=NDBCLUSTER;</literal>. In such a case, you need to
- issue a <literal>FLUSH TABLES</literal> command in order
- to force the cluster to pick up the change.)
+ ENGINE=NDBCLUSTER</literal>. In such a case, you must
+ issue a <literal>FLUSH TABLES</literal> statement to force
+ the cluster to pick up the change.)
</para>
</listitem>
@@ -9364,10 +9419,10 @@
<listitem>
<para>
Multiple network interfaces for data nodes are not
- supported. Use of these is liable to cause problems
- because, in the event of a data node failure, an SQL node
- waits for confirmation that the data node went down but
- never receives it because another route to that data node
+ supported. Use of these is liable to cause problems: In
+ the event of a data node failure, an SQL node waits for
+ confirmation that the data node went down but never
+ receives it because another route to that data node
remains open. This can effectively make the cluster
inoperable.
</para>
@@ -9393,14 +9448,6 @@
</itemizedlist>
<para>
- The above listing is intended to be complete with respect to the
- conditions set forth at the beginning of this section. You can
- report any discrepancies that you encounter to the MySQL bugs
- database at http://bugs.mysql.com/. If we do not plan to fix the
- problem in MySQL ¤t-series;, we will add it to the list.
- </para>
-
- <para>
The following Cluster limitations in MySQL 4.1 have been resolved
in MySQL 5.0 as shown below:
</para>
@@ -9682,14 +9729,14 @@
</orderedlist>
<para>
- In addition, we are working to increase the 8k size limit for
+ In addition, we are working to increase the 8KB size limit for
rows containing columns of types other than BLOB or TEXT in
Cluster tables. This is due to the fact that rows are currently
fixed in size and the page size is 32,768 bytes (minus 128 bytes
- for the row header). Currently this means that if we allowed
- more than 8k per record, any remaining space (up to
+ for the row header). Currently, this means that if we allowed
+ more than 8KB per record, any remaining space (up to
approximately 14,000 bytes) would be left empty. In MySQL 5.1,
- we plan to fix this limitation so that using more than 8k in a
+ we plan to fix this limitation so that using more than 8KB in a
given row does not result in the remainder of the page being
wasted.
</para>
@@ -10017,7 +10064,7 @@
<emphasis>Yes</emphasis>: For tables created with the
<literal>NDB</literal> storage engine, transactions are
supported. In MySQL ¤t-series;, Cluster supports only
- the <literal>READ_COMMITTED</literal> transaction isolation
+ the <literal>READ COMMITTED</literal> transaction isolation
level.
</para>
</listitem>
@@ -10375,7 +10422,8 @@
<listitem>
<para>
- <xref linkend="spatial-extensions"/>, are not supported.
+ Spatial extensions are not supported. See
+ <xref linkend="spatial-extensions"/>.
</para>
</listitem>
@@ -10928,7 +10976,7 @@
are stored in a set of node groups; each node group stores
a different subset of the table data. Each of the nodes
making up a node group stores a replica of the fragment
- for which that node group is responsible. Currently a
+ for which that node group is responsible. Currently, a
single cluster can support up to 48 data nodes total.
</para>
</listitem>
@@ -11056,7 +11104,7 @@
<para>
Under the <literal>NDB</literal> storage engine, each table
fragment has number of replicas stored on other data nodes in
- order to provide redundancy. Currently there may be up 4
+ order to provide redundancy. Currently, there may be up four
replicas per fragment.
</para>
</listitem>
@@ -11068,7 +11116,7 @@
<para>
A protocol providing data transfer between nodes. MySQL
- Cluster currently supports 4 different types of transporter
+ Cluster currently supports four different types of transporter
connections:
</para>
Modified: trunk/refman-5.0/replication.xml
===================================================================
--- trunk/refman-5.0/replication.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.0/replication.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -2917,7 +2917,7 @@
<listitem>
<remark role="note">
- Currently this option is of no real interest; it is meant for
+ Currently, this option is of no real interest; it is meant for
failover replication, which is not yet implemented.
</remark>
@@ -2936,7 +2936,7 @@
<listitem>
<remark role="note">
- Currently this option is of no real interest; it is meant for
+ Currently, this option is of no real interest; it is meant for
failover replication, which is not yet implemented.
</remark>
Modified: trunk/refman-5.0/sql-syntax.xml
===================================================================
--- trunk/refman-5.0/sql-syntax.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.0/sql-syntax.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -1141,7 +1141,7 @@
An <replaceable>index_col_name</replaceable> specification can
end with <literal>ASC</literal> or <literal>DESC</literal>.
These keywords are allowed for future extensions for specifying
- ascending or descending index value storage. Currently they are
+ ascending or descending index value storage. Currently, they are
parsed but ignored; index values are always stored in ascending
order.
</para>
@@ -1868,7 +1868,7 @@
can end with <literal>ASC</literal> or
<literal>DESC</literal>. These keywords are allowed for
future extensions for specifying ascending or descending
- index value storage. Currently they are parsed but ignored;
+ index value storage. Currently, they are parsed but ignored;
index values are always stored in ascending order.
</para>
</listitem>
Modified: trunk/refman-5.0/storage-engines.xml
===================================================================
--- trunk/refman-5.0/storage-engines.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.0/storage-engines.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -286,7 +286,7 @@
<para>
If you omit the <literal>ENGINE</literal> or <literal>TYPE</literal>
- option, the default storage engine is used. Normally this is
+ option, the default storage engine is used. Normally, this is
<literal>MyISAM</literal>, but you can change it by using the
<option>--default-storage-engine</option> or
<option>--default-table-type</option> server startup option, or by
Modified: trunk/refman-5.1/apis.xml
===================================================================
--- trunk/refman-5.1/apis.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.1/apis.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -3076,8 +3076,8 @@
<para>
The language of the client error messages may be changed by
- recompiling the MySQL client library. Currently you can choose
- error messages in several different languages. See
+ recompiling the MySQL client library. Currently, you can
+ choose error messages in several different languages. See
<xref linkend="languages"/>.
</para>
@@ -9765,8 +9765,8 @@
<para>
The language of the client error messages may be changed by
- recompiling the MySQL client library. Currently you can choose
- error messages in several different languages.
+ recompiling the MySQL client library. Currently, you can
+ choose error messages in several different languages.
</para>
<para>
Modified: trunk/refman-5.1/connector-odbc.xml
===================================================================
--- trunk/refman-5.1/connector-odbc.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.1/connector-odbc.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -775,7 +775,7 @@
</para>
<para>
- Normally you need to install MyODBC only on Windows machines. You
+ Normally, you need to install MyODBC only on Windows machines. You
need MyODBC for Unix only if you have a program like ColdFusion
that is running on a Unix machine and uses ODBC to connect for
database access.
Modified: trunk/refman-5.1/custom-engine.xml
===================================================================
--- trunk/refman-5.1/custom-engine.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.1/custom-engine.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -4090,10 +4090,8 @@
</funcdef>
- <paramdef>
+ <paramdef><parameter>void</parameter>
- <parameter>void</parameter>
-
</paramdef>
</funcprototype>
@@ -4828,15 +4826,14 @@
</para>
<para>
- <parameter>buf</parameter>
-
- will contain a copy of the row to be deleted. The server will
- call this right after the current row has been called (from
- either a previous <function>rnd_next()</function> or index
- call). If you keep a pointer to the last row or can access a
- primary key it will make doing the deletion quite a bit easier.
- Keep in mind that the server does not guarantee consecutive
- deletions. <literal>ORDER BY</literal> clauses can be used.
+ <parameter>buf</parameter> will contain a copy of the row to be
+ deleted. The server will call this right after the current row
+ has been called (from either a previous
+ <function>rnd_next()</function> or index call). If you keep a
+ pointer to the last row or can access a primary key it will make
+ doing the deletion quite a bit easier. Keep in mind that the
+ server does not guarantee consecutive deletions. <literal>ORDER
+ BY</literal> clauses can be used.
</para>
<para>
@@ -9248,10 +9245,8 @@
</funcdef>
- <paramdef>
+ <paramdef><parameter/>
- <parameter/>
-
</paramdef>
</funcprototype>
@@ -10241,10 +10236,8 @@
</funcdef>
- <paramdef>
+ <paramdef><parameter>uint</parameter>
- <parameter>uint</parameter>
-
</paramdef>
</funcprototype>
@@ -10259,7 +10252,7 @@
<para>
::info() is used to return information to the optimizer.
- Currently this table handler doesn't implement most of the
+ Currently, this table handler doesn't implement most of the
fields really needed. SHOW also makes use of this data Another
note, you will probably want to have the following in your code:
if (records < 2) records = 2; The reason is that the server
@@ -15263,7 +15256,7 @@
</para>
<para>
- Currently new_data will not have an updated auto_increament
+ Currently, new_data will not have an updated auto_increament
record, or and updated timestamp field. You can do these for
example by doing these: if (table->timestamp_field_type &
TIMESTAMP_AUTO_SET_ON_UPDATE)
Modified: trunk/refman-5.1/database-administration.xml
===================================================================
--- trunk/refman-5.1/database-administration.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.1/database-administration.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -917,7 +917,7 @@
<para>
Flush (synchronize) all changes to disk after each SQL
- statement. Normally MySQL does a write of all changes to
+ statement. Normally, MySQL does a write of all changes to
disk only after each SQL statement and lets the operating
system handle the synchronizing to disk. See
<xref linkend="crashing"/>.
@@ -5362,7 +5362,7 @@
taken from the cache if possible, and only when the cache
is empty is a new thread created. This variable can be
increased to improve performance if you have a lot of new
- connections. (Normally this doesn't provide a notable
+ connections. (Normally, this doesn't provide a notable
performance improvement if you have a good thread
implementation.) By examining the difference between the
<literal>Connections</literal> and
@@ -22859,7 +22859,7 @@
</para>
<para>
- <emphasis role="bold">Warning</emphasis>: Normally you should
+ <emphasis role="bold">Warning</emphasis>: Normally, you should
never have two servers that update data in the same databases.
This may lead to unpleasant surprises if your operating system
does not support fault-free system locking. If (despite this
Modified: trunk/refman-5.1/functions.xml
===================================================================
--- trunk/refman-5.1/functions.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.1/functions.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -11131,10 +11131,10 @@
<para>
The functions also can be useful for sorting
- <literal>ENUM</literal> columns in lexical order. Normally sorting
- of <literal>ENUM</literal> columns occurs using the internal
- numeric values. Casting the values to <literal>CHAR</literal>
- results in a lexical sort:
+ <literal>ENUM</literal> columns in lexical order. Normally,
+ sorting of <literal>ENUM</literal> columns occurs using the
+ internal numeric values. Casting the values to
+ <literal>CHAR</literal> results in a lexical sort:
</para>
<remark role="help-example"/>
Modified: trunk/refman-5.1/innodb.xml
===================================================================
--- trunk/refman-5.1/innodb.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.1/innodb.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -1160,7 +1160,7 @@
<para>
The number of file I/O threads in <literal>InnoDB</literal>.
- Normally this should be left at the default value of 4, but
+ Normally, this should be left at the default value of 4, but
disk I/O on Windows may benefit from a larger number. On Unix,
increasing the number has no effect; <literal>InnoDB</literal>
always uses the default value.
@@ -1308,7 +1308,7 @@
</para>
<para>
- Normally <literal>InnoDB</literal> uses an algorithm called
+ Normally, <literal>InnoDB</literal> uses an algorithm called
<firstterm>next-key locking</firstterm>.
<literal>InnoDB</literal> performs row-level locking in such a
way that when it searches or scans a table index, it sets
@@ -1581,7 +1581,7 @@
<para>
The number of identical copies of log groups we keep for the
- database. Currently this should be set to 1.
+ database. Currently, this should be set to 1.
</para>
</listitem>
@@ -5651,7 +5651,7 @@
The data files that you define in the configuration file form
the tablespace of <literal>InnoDB</literal>. The files are
simply concatenated to form the tablespace. There is no striping
- in use. Currently you cannot define where within the tablespace
+ in use. Currently, you cannot define where within the tablespace
your tables are allocated. However, in a newly created
tablespace, <literal>InnoDB</literal> allocates space starting
from the first data file.
Modified: trunk/refman-5.1/installing.xml
===================================================================
--- trunk/refman-5.1/installing.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.1/installing.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -8851,10 +8851,11 @@
<listitem>
<para>
The <filename>sql_yacc.cc</filename> file is generated from
- <filename>sql_yacc.yy</filename>. Normally the build process
- does not need to create <filename>sql_yacc.cc</filename>
- because MySQL comes with a pre-generated copy. However, if
- you do need to re-create it, you might encounter this error:
+ <filename>sql_yacc.yy</filename>. Normally, the build
+ process does not need to create
+ <filename>sql_yacc.cc</filename> because MySQL comes with a
+ pre-generated copy. However, if you do need to re-create it,
+ you might encounter this error:
</para>
<programlisting>
Modified: trunk/refman-5.1/ndbcluster.xml
===================================================================
--- trunk/refman-5.1/ndbcluster.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.1/ndbcluster.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -2169,7 +2169,7 @@
</remark>
<para>
- Currently the configuration file is in INI format, and is
+ Currently, the configuration file is in INI format, and is
named <filename>config.ini</filename> by default. It is read
by <command>ndb_mgmd</command> at startup and can be placed
anywhere. Its location and name are specified by using
@@ -2771,11 +2771,11 @@
</para>
<para>
- For each parameter it is possible to use <literal>k</literal>,
+ For each parameter it is possible to use <literal>K</literal>,
<literal>M</literal>, or <literal>G</literal> as a suffix to
indicate units of 1024, 1024×1024, or
1024×1024×1024. (For example,
- <literal>100k</literal> means 100 × 1024 = 102400.)
+ <literal>100K</literal> means 100 × 1024 = 102400.)
Parameters and values are currently case-sensitive.
</para>
@@ -3142,7 +3142,7 @@
</remark>
<para>
- Currently the only partitioning algorithm is hashing and
+ Currently, the only partitioning algorithm is hashing and
ordered indexes are local to each node. Thus ordered
indexes cannot be used to handle uniqueness constraints in
the general case.
@@ -3240,10 +3240,10 @@
<para>
Transaction records are allocated to individual MySQL
- servers. Normally there is at least one transaction record
- allocated per connection that using any table in the
- cluster. For this reason, one should ensure that there are
- more transaction records in the cluster than there are
+ servers. Normally, there is at least one transaction
+ record allocated per connection that using any table in
+ the cluster. For this reason, one should ensure that there
+ are more transaction records in the cluster than there are
concurrent connections to all MySQL servers in the
cluster.
</para>
@@ -6889,7 +6889,7 @@
</para>
<para>
- Turn cluster log on.
+ Turns the cluster log on.
</para>
</listitem>
@@ -6899,7 +6899,7 @@
</para>
<para>
- Turn cluster log off.
+ Turns the cluster log off.
</para>
</listitem>
@@ -6909,7 +6909,7 @@
</para>
<para>
- Information about cluster log settings.
+ Provides information about cluster log settings.
</para>
</listitem>
@@ -6944,7 +6944,7 @@
The following table describes the default setting (for all
data nodes) of the cluster log category threshold. If an event
has a priority with a value lower than or equal to the
- priority threshold, then it is reported in the cluster log.
+ priority threshold, it is reported in the cluster log.
</para>
<para>
@@ -7007,7 +7007,7 @@
</para>
<para>
- Event severity levels are shown below.
+ The following table shows the event severity levels.
(<emphasis role="bold">Note</emphasis>: These correspond to
Unix <literal>syslog</literal> levels, except for
<literal>LOG_EMERG</literal> and
@@ -7016,9 +7016,9 @@
<informaltable>
<tgroup cols="3">
- <colspec colwidth="50*"/>
<colspec colwidth="10*"/>
- <colspec colwidth="50*"/>
+ <colspec colwidth="20*"/>
+ <colspec colwidth="70*"/>
<tbody>
<row>
<entry><emphasis role="bold">1</emphasis></entry>
@@ -7075,29 +7075,40 @@
<title>&title-mysql-cluster-log-events;</title>
<para>
- An event report as reported in the event logs has the
- following format: <literal><replaceable>datetime</replaceable>
- [<replaceable>string</replaceable>]
- <replaceable>severity</replaceable> --
- <replaceable>message</replaceable></literal>. For example:
+ An event report reported in the event logs has the following
+ format:
</para>
<programlisting>
+<replaceable>datetime</replaceable> [<replaceable>string</replaceable>] <replaceable>severity</replaceable> -- <replaceable>message</replaceable>
+</programlisting>
+
+ <para>
+ For example:
+ </para>
+
+<programlisting>
09:19:30 2005-07-24 [NDB] INFO -- Node 4 Start phase 4 completed
</programlisting>
<para>
- All reportable events are discussed in this section, ordered
- by category and severity level within each category.
+ This section discusses all reportable events, ordered by
+ category and severity level within each category.
</para>
<para>
+ In the event descriptions, GCP and LCP mean <quote>Global
+ Checkpoint</quote> and <quote>Local Checkpoint,</quote>
+ respectively.
+ </para>
+
+ <para>
<emphasis role="bold"><literal>CONNECTION</literal>
Events</emphasis>
</para>
<para>
- These are events associated with connections between Cluster
+ These events are associated with connections between Cluster
nodes.
</para>
@@ -7117,25 +7128,25 @@
<row>
<entry>DB nodes connected</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Data nodes connected</entry>
</row>
<row>
<entry>DB nodes disconnected</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Data nodes disconnected</entry>
</row>
<row>
<entry>Communication closed</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>SQL node or data node connection closed</entry>
</row>
<row>
<entry>Communication opened</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>SQL node or data node connection opened</entry>
</row>
</tbody>
@@ -7152,11 +7163,6 @@
checkpoints.
</para>
- <para>
- (<emphasis role="bold">Note</emphasis>: GCP = Global
- Checkpoint, LCP = Local Checkpoint.)
- </para>
-
<informaltable>
<tgroup cols="4">
<colspec colwidth="35*"/>
@@ -7173,43 +7179,43 @@
<row>
<entry>LCP stopped in calc keep GCI</entry>
<entry>0</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>LCP stopped</entry>
</row>
<row>
<entry>Local checkpoint fragment completed</entry>
<entry>11</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>LCP on a fragment has been completed</entry>
</row>
<row>
<entry>Global checkpoint completed</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>GCP finished</entry>
</row>
<row>
<entry>Global checkpoint started</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Start of GCP: REDO log is written to disk</entry>
</row>
<row>
<entry>Local checkpoint completed</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>LCP completed normally</entry>
</row>
<row>
<entry>Local checkpoint started</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Start of LCP: data written to disk</entry>
</row>
<row>
<entry>Report undo log blocked</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>UNDO logging blocked; buffer near overflow</entry>
</row>
</tbody>
@@ -7245,26 +7251,26 @@
<row>
<entry>Internal start signal received STTORRY</entry>
<entry>15</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Blocks received after completion of restart</entry>
</row>
<row>
<entry>Undo records executed</entry>
<entry>15</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>New REDO log started</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>GCI keep <replaceable>X</replaceable>, newest restorable GCI
<replaceable>Y</replaceable></entry>
</row>
<row>
<entry>New log started</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Log part <replaceable>X</replaceable>, start MB
<replaceable>Y</replaceable>, stop MB
<replaceable>Z</replaceable></entry>
@@ -7272,50 +7278,50 @@
<row>
<entry>Node has been refused for inclusion in the cluster</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Node cannot be included in cluster due to misconfiguration, inability to
establish communication, or other problem</entry>
</row>
<row>
<entry>DB node neighbors</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Shows neighboring data nodes</entry>
</row>
<row>
<entry>DB node start phase <replaceable>X</replaceable> completed</entry>
<entry>4</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>A data node start phase has been completed</entry>
</row>
<row>
<entry>Node has been successfully included into the cluster</entry>
<entry>3</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Displays the node, managing node, and dynamic ID</entry>
</row>
<row>
<entry>DB node start phases initiated</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>NDB Cluster nodes starting</entry>
</row>
<row>
<entry>DB node all start phases completed</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>NDB Cluster nodes started</entry>
</row>
<row>
<entry>DB node shutdown initiated</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Shutdown of data node has commenced</entry>
</row>
<row>
<entry>DB node shutdown aborted</entry>
<entry>1</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Unable to shut down data node normally</entry>
</row>
</tbody>
@@ -7348,53 +7354,55 @@
<row>
<entry>Node failure phase completed</entry>
<entry>8</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>Reports completion of node failure phases</entry>
</row>
<row>
<entry>Node has failed, node state was <replaceable>X</replaceable></entry>
<entry>8</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>Reports that a node has failed</entry>
</row>
<row>
<entry>Report arbitrator results</entry>
<entry>2</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>There are 8 different possible results for arbitration attempts:
<itemizedlist>
<listitem>
<para>
- Arbitration check failed - less than 1/2 nodes
- left
+ Arbitration check failed — less than 1/2
+ nodes left
</para>
</listitem>
<listitem>
<para>
- Arbitration check succeeded - node group
+ Arbitration check succeeded — node group
majority
</para>
</listitem>
<listitem>
<para>
- Arbitration check failed - missing node group
+ Arbitration check failed — missing node
+ group
</para>
</listitem>
<listitem>
<para>
- Network partitioning - arbitration required
+ Network partitioning — arbitration
+ required
</para>
</listitem>
<listitem>
<para>
- Arbitration succeeded - affirmative response
- from node <replaceable>X</replaceable>
+ Arbitration succeeded — affirmative
+ response from node <replaceable>X</replaceable>
</para>
</listitem>
@@ -7422,61 +7430,61 @@
<row>
<entry>Completed copying a fragment</entry>
<entry>10</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Completed copying of dictionary information</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Completed copying distribution information</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Starting to copy fragments</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Completed copying all fragments</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>GCP takeover started</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>GCP takeover completed</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>LCP takeover started</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>LCP takeover completed (state = <replaceable>X</replaceable>)</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Report whether an arbitrator is found or not</entry>
<entry>6</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>There are 7 different possible outcomes when seeking an arbitrator:
<itemizedlist>
@@ -7570,44 +7578,44 @@
<row>
<entry>Report job scheduling statistics</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Mean internal job scheduling statistics</entry>
</row>
<row>
<entry>Sent number of bytes</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Mean number of bytes sent to node <replaceable>X</replaceable></entry>
</row>
<row>
<entry>Received # of bytes</entry>
<entry>9</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Mean number of bytes received from node <replaceable>X</replaceable></entry>
</row>
<row>
<entry>Report transaction statistics</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Numbers of: transactions, commits, reads, simple reads, writes,
concurrent operations, attribute info, and aborts</entry>
</row>
<row>
<entry>Report operations</entry>
<entry>8</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Number of operations</entry>
</row>
<row>
<entry>Report table create</entry>
<entry>7</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
<row>
<entry>Memory usage</entry>
<entry>5</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Data and index memory usage (80%, 90%, and 100%)</entry>
</row>
</tbody>
@@ -7620,7 +7628,7 @@
</para>
<para>
- These events relate to Cluster errors and warnings; the
+ These events relate to Cluster errors and warnings. The
presence of one or more of these generally indicates that a
major malfunction or failure has occurred.
</para>
@@ -7641,7 +7649,7 @@
<row>
<entry>Dead due to missed heartbeat</entry>
<entry>8</entry>
- <entry>ALERT</entry>
+ <entry><literal>ALERT</literal></entry>
<entry>Node <replaceable>X</replaceable> declared <quote>dead</quote> due to
missed heartbeat</entry>
</row>
@@ -7654,20 +7662,20 @@
<row>
<entry>Transporter warnings</entry>
<entry>8</entry>
- <entry>WARNING</entry>
+ <entry><literal>WARNING</literal></entry>
<entry/>
</row>
<row>
<entry>Missed heartbeats</entry>
<entry>8</entry>
- <entry>WARNING</entry>
+ <entry><literal>WARNING</literal></entry>
<entry>Node <replaceable>X</replaceable> missed heartbeat
#<replaceable>Y</replaceable></entry>
</row>
<row>
<entry>General warning events</entry>
<entry>2</entry>
- <entry>WARNING</entry>
+ <entry><literal>WARNING</literal></entry>
<entry/>
</row>
</tbody>
@@ -7701,19 +7709,19 @@
<row>
<entry>Sent heartbeat</entry>
<entry>12</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Heartbeat sent to node <replaceable>X</replaceable></entry>
</row>
<row>
<entry>Create log bytes</entry>
<entry>11</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry>Log part, log file, MB</entry>
</row>
<row>
<entry>General info events</entry>
<entry>2</entry>
- <entry>INFO</entry>
+ <entry><literal>INFO</literal></entry>
<entry/>
</row>
</tbody>
@@ -7729,7 +7737,7 @@
<title>&title-mysql-cluster-single-user-mode;</title>
<para>
- Single user mode allows the database administrator to restrict
+ Single-user mode allows the database administrator to restrict
access to the database system to a single MySQL server (SQL
node). When entering single-user mode, all connections to all
other MySQL servers are closed gracefully and all running
@@ -7739,12 +7747,15 @@
<para>
Once the cluster has entered single-user mode, only the
- designated SQL node is granted access to the database. You can
- use the <command>ALL STATUS</command> command to see when the
- cluster has entered single-user mode.
+ designated SQL node is granted access to the database.
</para>
<para>
+ You can use the <command>ALL STATUS</command> command to see
+ when the cluster has entered single-user mode.
+ </para>
+
+ <para>
Example:
</para>
@@ -7779,7 +7790,7 @@
The command <command>EXIT SINGLE USER MODE</command> changes the
state of the cluster's data nodes from single-user mode to
normal mode. MySQL Servers waiting for a connection (that is,
- for the cluster to become ready and available), are now
+ for the cluster to become ready and available), are again
permitted to connect. The MySQL Server denoted as the
single-user SQL node continues to run (if still connected)
during and after the state change.
@@ -7798,13 +7809,17 @@
</programlisting>
<para>
- The recommended way to handle a node failure when running in
- single-user mode is to do either of the following:
+ There are two recommended ways to handle a node failure when
+ running in single-user mode:
</para>
<itemizedlist>
<listitem>
+ <para>
+ Method 1:
+ </para>
+
<orderedlist>
<listitem>
@@ -7829,16 +7844,12 @@
</orderedlist>
</listitem>
- </itemizedlist>
-
- <para>
- <emphasis>or</emphasis>
- </para>
-
- <itemizedlist>
-
<listitem>
<para>
+ Method 2:
+ </para>
+
+ <para>
Restart database nodes prior to entering single-user mode.
</para>
</listitem>
@@ -7870,7 +7881,7 @@
<listitem>
<para>
<emphasis role="bold">Metadata</emphasis>: the names and
- definitions of all database tables.
+ definitions of all database tables
</para>
</listitem>
@@ -7893,8 +7904,8 @@
</itemizedlist>
<para>
- Each of these is saved on all nodes participating in the
- backup. During backup each node saves these three parts into
+ Each of these parts is saved on all nodes participating in the
+ backup. During backup, each node saves these three parts into
three files on disk:
</para>
@@ -7920,11 +7931,11 @@
<para>
A data file containing the table records, which are saved
- on a per-fragment basis; that is, different nodes save
+ on a per-fragment basis. That is, different nodes save
different fragments during the backup. The file saved by
- each node starts with a header that states to which tables
- the records belong. Following the list of records there is
- a footer containing a checksum for all records.
+ each node starts with a header that states the tables to
+ which the records belong. Following the list of records
+ there is a footer containing a checksum for all records.
</para>
</listitem>
@@ -7964,7 +7975,7 @@
</para>
<para>
- To create a backup using the management server involves the
+ Creating a backup using the management server involves the
following steps:
</para>
@@ -8000,8 +8011,8 @@
will also be saved in the cluster log, if it has not been
configured otherwise.) This means that the cluster has
received and processed the backup request. It does
- <emphasis>not</emphasis> mean that the backup has been
- completed.
+ <emphasis>not</emphasis> mean that the backup has
+ finished.
</para>
</listitem>
@@ -8016,7 +8027,7 @@
</orderedlist>
<para>
- To abort a backup already in progress:
+ To abort a backup that is already in progress:
</para>
<orderedlist>
@@ -8044,14 +8055,14 @@
The management server will acknowledge the abort request
with <literal>Abort of backup
<replaceable>backup_id</replaceable> ordered</literal>;
- note that no actual response to this request has yet been
- received.
+ note that it has received no actual response to this
+ request yet.
</para>
</listitem>
<listitem>
<para>
- Once the backup has been aborted, the management server
+ After the backup has been aborted, the management server
will report <literal>Backup
<replaceable>backup_id</replaceable> has been aborted for
reason <replaceable>XYZ</replaceable></literal>. This
@@ -8075,9 +8086,9 @@
<para>
<emphasis role="bold">Note</emphasis>: If there is no backup
with ID <replaceable>backup_id</replaceable> running when it
- is aborted, the management server does not make any explicit
- response. However, the fact that an invalid abort command was
- sent is indicated in the cluster log.
+ is aborted, the management server makes no explicit response.
+ However, the fact that an invalid abort command was sent is
+ indicated in the cluster log.
</para>
</section>
@@ -8102,17 +8113,18 @@
</para>
<para>
- The first time you run the restoration program, you also need
- to restore the metadata; in other words, you must re-create
- the database tables. (Note that the cluster should have an
- empty database when starting to restore a backup.) The restore
- program acts as an API to the cluster and therefore requires a
- free connection to connect to the cluster. This can be
- verified with the <command>ndb_mgm</command> command
- <command>SHOW</command> (you can accomplish this from a system
- shell using <command>ndb_mgm -e SHOW</command>). The
- <option>-c <replaceable>connectstring</replaceable></option>
- option may be used to locate the MGM node (see
+ The first time you run the <command>ndb_restore</command>
+ restoration program, you also need to restore the metadata. In
+ other words, you must re-create the database tables. (Note
+ that the cluster should have an empty database when starting
+ to restore a backup.) The restore program acts as an API to
+ the cluster and therefore requires a free connection to
+ connect to the cluster. This can be verified with the
+ <command>ndb_mgm</command> command <command>SHOW</command>
+ (you can accomplish this from a system shell using
+ <command>ndb_mgm -e SHOW</command>). The <option>-c
+ <replaceable>connectstring</replaceable></option> option may
+ be used to locate the MGM node (see
<xref linkend="mysql-cluster-connectstring"/>, for information
on connectstrings). The backup files must be present in the
directory given as an argument to the restoration program.
@@ -8144,7 +8156,7 @@
<title>&title-mysql-cluster-backup-configuration;</title>
<para>
- There are four configuration parameters essential for backup:
+ Four configuration parameters are essential for backup:
</para>
<itemizedlist>
@@ -8155,8 +8167,8 @@
</para>
<para>
- Amount of memory used to buffer data before it is written
- to disk.
+ The amount of memory used to buffer data before it is
+ written to disk.
</para>
</listitem>
@@ -8166,8 +8178,8 @@
</para>
<para>
- Amount of memory used to buffer log records before these
- are written to disk.
+ The amount of memory used to buffer log records before
+ these are written to disk.
</para>
</listitem>
@@ -8177,7 +8189,7 @@
</para>
<para>
- Total memory allocated in a database node for backups.
+ The total memory allocated in a database node for backups.
This should be the sum of the memory allocated for the
backup data buffer and the backup log buffer.
</para>
@@ -8189,8 +8201,8 @@
</para>
<para>
- Size of blocks written to disk. This applies for both the
- backup data buffer and the backup log buffer.
+ The size of blocks written to disk. This applies for both
+ the backup data buffer and the backup log buffer.
</para>
</listitem>
@@ -9865,7 +9877,7 @@
</para>
<para>
- Currently the MySQL Cluster codebase includes support for four
+ Currently, the MySQL Cluster codebase includes support for four
different transporters. Most users today employ TCP/IP over
Ethernet because it is ubiquitous. TCP/IP is also by far the
best-tested transporter in MySQL Cluster.
@@ -9881,8 +9893,8 @@
<para>
For users who desire it, it is also possible to use cluster
interconnects to enhance performance even further. There are two
- ways to achieve this: either a custom transporter can be designed
- to handle this case, or one can use socket implementations that
+ ways to achieve this: Either a custom transporter can be designed
+ to handle this case, or you can use socket implementations that
bypass the TCP/IP stack to one extent or another. We have
experimented with both of these techniques using the SCI (Scalable
Coherent Interface) technology developed by
@@ -9894,10 +9906,10 @@
<title>&title-sci-sockets;</title>
<para>
- In this section we will show how one can adapt a cluster
- configured for normal TCP/IP communication to use SCI Sockets
- instead. This documentation is based on SCI Sockets version
- 2.3.0 as of 01 October 2004.
+ In this section, we show how to adapt a cluster configured for
+ normal TCP/IP communication to use SCI Sockets instead. This
+ documentation is based on SCI Sockets version 2.3.0 as of 01
+ October 2004.
</para>
<para>
@@ -9923,7 +9935,7 @@
There are essentially four requirements for SCI Sockets:
</para>
- <orderedlist>
+ <itemizedlist>
<listitem>
<para>
@@ -9951,7 +9963,7 @@
</para>
</listitem>
- </orderedlist>
+ </itemizedlist>
<para>
This process needs to be repeated for each machine in the
@@ -9963,7 +9975,7 @@
Two packages need to be retrieved to get SCI Sockets working:
</para>
- <orderedlist>
+ <itemizedlist>
<listitem>
<para>
@@ -9979,7 +9991,7 @@
</para>
</listitem>
- </orderedlist>
+ </itemizedlist>
<para>
Currently, these are available only in source code format. The
@@ -10031,7 +10043,8 @@
this example we will place the installation in
<filename>/opt/DIS</filename>.
(<emphasis role="bold">Note</emphasis>: You will most likely
- need to run the following as the system root user.)
+ need to run the following as the system <literal>root</literal>
+ user.)
</para>
<programlisting>
@@ -10094,9 +10107,9 @@
ports, each of which can support a ring. It is necessary to make
sure that different rings use different node ID spaces. In a
typical configuration, the first port uses node IDs below 64 (4
- - 60), the next 64 node IDs (68 - 124) are assigned to the next
- port, and so on, with node IDs 452 - 508 being assigned to the
- eighth port.
+ − 60), the next 64 node IDs (68 − 124) are assigned
+ to the next port, and so on, with node IDs 452 − 508 being
+ assigned to the eighth port.
</para>
<para>
@@ -10143,9 +10156,9 @@
<para>
To set the node ID for an SCI card use the following command in
the <filename>/opt/DIS/sbin</filename> directory. In this
- example <option>-c 1</option> refers to the number of the SCI
- card (this will always be 1 if there is only 1 card in the
- machine), <option>-a 0</option> refers to adapter 0; and
+ example, <option>-c 1</option> refers to the number of the SCI
+ card (this is always 1 if there is only 1 card in the machine);
+ <option>-a 0</option> refers to adapter 0; and
<literal>68</literal> is the node ID:
</para>
@@ -10244,7 +10257,7 @@
<para>
If you discover an error and need to change the SCI socket
- configuration, it is necessary to use the
+ configuration, it is necessary to use
<command>ksocketconfig</command> to accomplish this task:
</para>
@@ -10261,7 +10274,7 @@
To ensure that SCI sockets are actually being used, you can
employ the <command>latency_bench</command> test program. Using
this utility's server component, clients can connect to the
- server to test the latency of the connection; determining
+ server to test the latency of the connection. Determining
whether SCI is enabled should be fairly simple from observing
the latency. (<emphasis role="bold">Note</emphasis>: Before
using <command>latency_bench</command>, it is necessary to set
@@ -10313,8 +10326,8 @@
</para>
<programlisting>
-bash-shell> export LD_PRELOAD=/opt/DIS/lib/libkscisock.so
-bash-shell> ndbd
+bash-shell> <userinput>export LD_PRELOAD=/opt/DIS/lib/libkscisock.so</userinput>
+bash-shell> <userinput>ndbd</userinput>
</programlisting>
<para>
@@ -10322,8 +10335,8 @@
</para>
<programlisting>
-tcsh-shell> setenv LD_PRELOAD=/opt/DIS/lib/libkscisock.so
-tcsh-shell> ndbd
+tcsh-shell> <userinput>setenv LD_PRELOAD=/opt/DIS/lib/libkscisock.so</userinput>
+tcsh-shell> <userinput>ndbd</userinput>
</programlisting>
<para>
@@ -10357,16 +10370,16 @@
</para>
<para>
- This is the simple access of a record through its primary
- key. In the simplest case only one record is accessed at a
- time, which means that the full cost of setting up a number
- of TCP/IP messages and a number of costs for context
- switching are borne by this single request. In the case
- where multiple primary key accesses are sent in one batch,
- those accesses will share the cost of setting up the
- necessary TCP/IP messages and context switches. If the
- TCP/IP messages are for different destinations, then
- additional TCP/IP messages need to be set up.
+ This is access of a record through its primary key. In the
+ simplest case, only one record is accessed at a time, which
+ means that the full cost of setting up a number of TCP/IP
+ messages and a number of costs for context switching are
+ borne by this single request. In the case where multiple
+ primary key accesses are sent in one batch, those accesses
+ share the cost of setting up the necessary TCP/IP messages
+ and context switches. If the TCP/IP messages are for
+ different destinations, additional TCP/IP messages need to
+ be set up.
</para>
</listitem>
@@ -10392,13 +10405,13 @@
</para>
<para>
- When no indexes exist for a lookup on a table, then a full
- scan of a table is performed. This is sent as a single
- request to the <command>ndbd</command> process, which then
- divides the table scan into a set of parallel scans on all
- cluster <command>ndbd</command> processes. In future
- versions of MySQL Cluster, an SQL node will be able to
- filter some of these scans.
+ When no indexes exist for a lookup on a table, a full table
+ scan is performed. This is sent as a single request to the
+ <command>ndbd</command> process, which then divides the
+ table scan into a set of parallel scans on all cluster
+ <command>ndbd</command> processes. In future versions of
+ MySQL Cluster, an SQL node will be able to filter some of
+ these scans.
</para>
</listitem>
@@ -10421,7 +10434,7 @@
</itemizedlist>
<para>
- To check the base performance of these access methods we have
+ To check the base performance of these access methods, we have
developed a set of benchmarks. One such benchmark,
<command>testReadPerf</command>, tests simple and batched
primary and unique key accesses. This benchmark also measures
@@ -10451,15 +10464,50 @@
dual-CPU machines equipped with AMD MP1900+ processors.
</para>
-<programlisting>
-Access type: TCP/IP sockets SCI Socket
-Serial pk access: 400 microseconds 160 microseconds
-Batched pk access: 28 microseconds 22 microseconds
-Serial uk access: 500 microseconds 250 microseconds
-Batched uk access: 70 microseconds 36 microseconds
-Indexed eq-bound: 1250 microseconds 750 microseconds
-Index range: 24 microseconds 12 microseconds
-</programlisting>
+ <informaltable>
+ <tgroup cols="3">
+ <colspec colwidth="33*"/>
+ <colspec colwidth="33*"/>
+ <colspec colwidth="33*"/>
+ <tbody>
+ <row>
+ <entry><emphasis role="bold">Access Type</emphasis></entry>
+ <entry><emphasis role="bold">TCP/IP Sockets</emphasis></entry>
+ <entry><emphasis role="bold">SCI Socket</emphasis></entry>
+ </row>
+ <row>
+ <entry>Serial pk access</entry>
+ <entry>400 microseconds</entry>
+ <entry>160 microseconds</entry>
+ </row>
+ <row>
+ <entry>Batched pk access</entry>
+ <entry>28 microseconds</entry>
+ <entry>22 microseconds</entry>
+ </row>
+ <row>
+ <entry>Serial uk access</entry>
+ <entry>500 microseconds</entry>
+ <entry>250 microseconds</entry>
+ </row>
+ <row>
+ <entry>Batched uk access</entry>
+ <entry>70 microseconds</entry>
+ <entry>36 microseconds</entry>
+ </row>
+ <row>
+ <entry>Indexed eq-bound</entry>
+ <entry>1250 microseconds</entry>
+ <entry>750 microseconds</entry>
+ </row>
+ <row>
+ <entry>Index range</entry>
+ <entry>24 microseconds</entry>
+ <entry>12 microseconds</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
<para>
We also performed another set of tests to check the performance
@@ -10484,7 +10532,7 @@
except in rare instances when communication performance is not
an issue. This can occur when scan filters make up most of
processing time or when very large batches of primary key
- accesses are achieved. In that case the CPU processing in the
+ accesses are achieved. In that case, the CPU processing in the
<command>ndbd</command> processes becomes a fairly large part of
the overhead.
</para>
@@ -10537,20 +10585,33 @@
</remark>
<para>
- In this section, we provide a listing of known limitations in
- MySQL Cluster releases in the ¤t-series;.x series when
- compared to features available when using the
- <literal>MyISAM</literal> and <literal>InnoDB</literal> storage
- engines. Currently there are no plans to address these in coming
- releases of MySQL ¤t-series;; however, we will attempt to
- supply fixes for these issues in subsequent release series. If you
- check the <quote>Cluster</quote> category in the MySQL bugs
- database at <ulink url="http://bugs.mysql.com"/>, you can find
- known bugs which (if marked <quote>¤t-series;</quote>) we
- intend to correct in upcoming releases of MySQL ¤t-series;.
+ In this section, we provide a list of known limitations in MySQL
+ Cluster releases in the ¤t-series;.x series compared to
+ features available when using the <literal>MyISAM</literal> and
+ <literal>InnoDB</literal> storage engines. Currently, there are no
+ plans to address these in coming releases of MySQL
+ ¤t-series;; however, we will attempt to supply fixes for
+ these issues in subsequent release series. If you check the
+ <quote>Cluster</quote> category in the MySQL bugs database at
+ <ulink url="http://bugs.mysql.com"/>, you can find known bugs
+ which (if marked <quote>¤t-series;</quote>) we intend to
+ correct in upcoming releases of MySQL ¤t-series;.
</para>
<para>
+ The list here is intended to be complete with respect to the
+ conditions just set forth. You can report any discrepancies that
+ you encounter to the MySQL bugs database using the instructions
+ given in <xref linkend="bug-reports"/>. If we do not plan to fix
+ the problem in MySQL ¤t-series;, we will add it to the list.
+ </para>
+
+ <remark role="todo">
+ [pd] I see no such list. Should we comment out the following
+ paragraph?
+ </remark>
+
+ <para>
(<emphasis role="bold">Note</emphasis>: See the end of this
section for a list of issues in MySQL &previous-series; Cluster
that have been resolved in the current version.)
@@ -10576,8 +10637,8 @@
<para>
Geometry datatypes (<literal>WKT</literal> and
<literal>WKB</literal>) are supported in
- <literal>NDB</literal> tables in MySQL ¤t-series;;
- however, spatial indexes are not supported.
+ <literal>NDB</literal> tables in MySQL ¤t-series;.
+ However, spatial indexes are not supported.
</para>
</listitem>
@@ -10629,7 +10690,7 @@
<listitem>
<para>
<literal>NDB Cluster</literal> supports only the
- <literal>READ_COMMITTED</literal> transaction
+ <literal>READ COMMITTED</literal> transaction
isolation level.
</para>
</listitem>
@@ -10637,8 +10698,8 @@
<listitem>
<para>
There is no partial rollback of transactions. A
- duplicate key or similar error will result in a
- rollback of the entire transaction.
+ duplicate key or similar error results in a rollback
+ of the entire transaction.
</para>
</listitem>
@@ -10648,7 +10709,7 @@
<literal>SELECT</literal> from a Cluster table
includes a <literal>BLOB</literal>,
<literal>TEXT</literal>, or <literal>VARCHAR</literal>
- column, then the <literal>READ_COMMITTED</literal>
+ column, the <literal>READ COMMITTED</literal>
transaction isolation level is converted to a read
with read lock. This is done to guarantee consistency,
due to the fact that parts of the values stored in
@@ -10725,10 +10786,10 @@
<literal>VARCHAR</literal> fields containing only
relatively small values, more memory and disk space is
required when using the <literal>NDB</literal> storage
- engine than would be for the same table and data using the
- <literal>MyISAM</literal> engine. (In other words, in the
- case of a <literal>VARCHAR</literal> column, the column
- requires the same amount of storage as a
+ engine than would be the case for the same table and data
+ using the <literal>MyISAM</literal> engine. (In other
+ words, in the case of a <literal>VARCHAR</literal> column,
+ the column requires the same amount of storage as a
<literal>CHAR</literal> column of the same size.)
</para>
</listitem>
@@ -10749,7 +10810,7 @@
<listitem>
<para>
- The maximum permitted size of any one row is 8k,
+ The maximum permitted size of any one row is 8KB,
<emphasis>not including data stored in
<literal>BLOB</literal> columns</emphasis>.
</para>
@@ -10844,11 +10905,10 @@
<listitem>
<para>
- The only supported isolation level is
- <literal>READ_COMMITTED</literal>. (InnoDB supports
- <literal>READ_COMMITTED</literal>,
- <literal>READ_COMMITTED</literal>,
- <literal>REPEATABLE_READ</literal>, and
+ The only supported isolation level is <literal>READ
+ COMMITTED</literal>. (InnoDB supports <literal>READ
+ COMMITTED</literal>, <literal>READ COMMITTED</literal>,
+ <literal>REPEATABLE READ</literal>, and
<literal>SERIALIZABLE</literal>.) See
<xref linkend="mysql-cluster-backup-troubleshooting"/>,
for information on how this can effect backup and restore
@@ -10893,8 +10953,8 @@
<para>
MySQL replication will not work correctly if updates are
done on multiple MySQL servers. However, if the database
- partitioning scheme is done at the application level, and
- no transactions take place across these partitions, then
+ partitioning scheme is done at the application level and
+ no transactions take place across these partitions,
replication can be made to work.
</para>
</listitem>
@@ -10907,11 +10967,11 @@
this means is that after a database named
<replaceable>db_name</replaceable> is created or imported
using one MySQL server, you should issue a <literal>CREATE
- SCHEMA <replaceable>db_name</replaceable>;</literal>
- statement on each additional MySQL server that access the
- same MySQL Cluster. Once this has been done for a given
- MySQL server, that server should be able to detect the
- database tables without error.
+ SCHEMA <replaceable>db_name</replaceable></literal>
+ statement on each additional MySQL server that accesses
+ the same MySQL Cluster. Once this has been done for a
+ given MySQL server, that server should be able to detect
+ the database tables without error.
</para>
</listitem>
@@ -10930,13 +10990,13 @@
<listitem>
<para>
All machines used in the cluster must have the same
- architecture; that is, all machines hosting nodes must be
+ architecture. That is, all machines hosting nodes must be
either big-endian or little-endian, and you cannot use a
mixture of both. For example, you cannot have a management
- node running on a PPC which directs a data node that is
- running on an x86 machine. This restriction does not apply
- to machines simply running <command>mysql</command> or
- other clients that may be accessing the cluster's SQL
+ node running on a PowerPC which directs a data node that
+ is running on an x86 machine. This restriction does not
+ apply to machines simply running <command>mysql</command>
+ or other clients that may be accessing the cluster's SQL
nodes.
</para>
</listitem>
@@ -10951,9 +11011,9 @@
uses a different storage engine, then convert it to
<literal>NDB</literal> using <literal>ALTER TABLE
<replaceable>tbl_name</replaceable>
- ENGINE=NDBCLUSTER;</literal>. In such a case, you need to
- issue a <literal>FLUSH TABLES</literal> command in order
- to force the cluster to pick up the change.)
+ ENGINE=NDBCLUSTER</literal>. In such a case, you must
+ issue a <literal>FLUSH TABLES</literal> statement to force
+ the cluster to pick up the change.)
</para>
</listitem>
@@ -11002,10 +11062,10 @@
<listitem>
<para>
Multiple network interfaces for data nodes are not
- supported. Use of these is liable to cause problems
- because, in the event of a data node failure, an SQL node
- waits for confirmation that the data node went down but
- never receives it because another route to that data node
+ supported. Use of these is liable to cause problems: In
+ the event of a data node failure, an SQL node waits for
+ confirmation that the data node went down but never
+ receives it because another route to that data node
remains open. This can effectively make the cluster
inoperable.
</para>
@@ -11037,14 +11097,6 @@
</itemizedlist>
- <para>
- The above listing is intended to be complete with respect to the
- conditions set forth at the beginning of this section. You can
- report any discrepancies that you encounter to the MySQL bugs
- database at http://bugs.mysql.com/. If we do not plan to fix the
- problem in MySQL ¤t-series;, we will add it to the list.
- </para>
-
</section>
<section id="mysql-cluster-roadmap">
@@ -11079,6 +11131,10 @@
Jonas Oreland, et al.
</remark>
+ <remark role="todo">
+ [pd] I see nothing for next-series.
+ </remark>
+
<para>
In this section, we discuss changes in the implementation of MySQL
Cluster in MySQL ¤t-series; as compared to MySQL
@@ -11288,14 +11344,14 @@
</orderedlist>
<para>
- In addition, we are working to increase the 8k size limit for
+ In addition, we are working to increase the 8KB size limit for
rows containing columns of types other than BLOB or TEXT in
Cluster tables. This is due to the fact that rows are currently
fixed in size and the page size is 32,768 bytes (minus 128 bytes
- for the row header). Currently this means that if we allowed
- more than 8k per record, any remaining space (up to
+ for the row header). Currently, this means that if we allowed
+ more than 8KB per record, any remaining space (up to
approximately 14,000 bytes) would be left empty. In MySQL 5.1,
- we plan to fix this limitation so that using more than 8k in a
+ we plan to fix this limitation so that using more than 8KB in a
given row does not result in the remainder of the page being
wasted.
</para>
@@ -11623,7 +11679,7 @@
<emphasis>Yes</emphasis>: For tables created with the
<literal>NDB</literal> storage engine, transactions are
supported. In MySQL ¤t-series;, Cluster supports only
- the <literal>READ_COMMITTED</literal> transaction isolation
+ the <literal>READ COMMITTED</literal> transaction isolation
level.
</para>
</listitem>
@@ -11981,7 +12037,8 @@
<listitem>
<para>
- <xref linkend="spatial-extensions"/>, are not supported.
+ Spatial extensions are not supported. See
+ <xref linkend="spatial-extensions"/>.
</para>
</listitem>
@@ -12534,7 +12591,7 @@
are stored in a set of node groups; each node group stores
a different subset of the table data. Each of the nodes
making up a node group stores a replica of the fragment
- for which that node group is responsible. Currently a
+ for which that node group is responsible. Currently, a
single cluster can support up to 48 data nodes total.
</para>
</listitem>
@@ -12662,7 +12719,7 @@
<para>
Under the <literal>NDB</literal> storage engine, each table
fragment has number of replicas stored on other data nodes in
- order to provide redundancy. Currently there may be up 4
+ order to provide redundancy. Currently, there may be up four
replicas per fragment.
</para>
</listitem>
@@ -12674,7 +12731,7 @@
<para>
A protocol providing data transfer between nodes. MySQL
- Cluster currently supports 4 different types of transporter
+ Cluster currently supports four different types of transporter
connections:
</para>
Modified: trunk/refman-5.1/replication.xml
===================================================================
--- trunk/refman-5.1/replication.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.1/replication.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -3098,7 +3098,7 @@
<listitem>
<remark role="note">
- Currently this option is of no real interest; it is meant for
+ Currently, this option is of no real interest; it is meant for
failover replication, which is not yet implemented.
</remark>
@@ -3117,7 +3117,7 @@
<listitem>
<remark role="note">
- Currently this option is of no real interest; it is meant for
+ Currently, this option is of no real interest; it is meant for
failover replication, which is not yet implemented.
</remark>
Modified: trunk/refman-5.1/sql-syntax.xml
===================================================================
--- trunk/refman-5.1/sql-syntax.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.1/sql-syntax.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -1352,7 +1352,7 @@
An <replaceable>index_col_name</replaceable> specification can
end with <literal>ASC</literal> or <literal>DESC</literal>.
These keywords are allowed for future extensions for specifying
- ascending or descending index value storage. Currently they are
+ ascending or descending index value storage. Currently, they are
parsed but ignored; index values are always stored in ascending
order.
</para>
@@ -2124,7 +2124,7 @@
can end with <literal>ASC</literal> or
<literal>DESC</literal>. These keywords are allowed for
future extensions for specifying ascending or descending
- index value storage. Currently they are parsed but ignored;
+ index value storage. Currently, they are parsed but ignored;
index values are always stored in ascending order.
</para>
</listitem>
Modified: trunk/refman-5.1/storage-engines.xml
===================================================================
--- trunk/refman-5.1/storage-engines.xml 2006-01-31 16:51:27 UTC (rev 1149)
+++ trunk/refman-5.1/storage-engines.xml 2006-01-31 16:51:46 UTC (rev 1150)
@@ -290,7 +290,7 @@
<para>
If you omit the <literal>ENGINE</literal> or <literal>TYPE</literal>
- option, the default storage engine is used. Normally this is
+ option, the default storage engine is used. Normally, this is
<literal>MyISAM</literal>, but you can change it by using the
<option>--default-storage-engine</option> or
<option>--default-table-type</option> server startup option, or by
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r1150 - in trunk: . refman-4.1 refman-5.0 refman-5.1 | paul | 31 Jan |