This is a new Beta development release, fixing recently discovered bugs in previous MySQL Cluster NDB 6.3 releases.
Obtaining MySQL Cluster NDB 6.3. This is a source-only release, which you must compile and install using the instructions found in Installing MySQL from Source, and in MySQL Cluster Installation and Upgrades. You can download the GPL source tarball from the MySQL FTP site at ftp://ftp.mysql.com/pub/mysql/download/cluster_telco/.
This Beta release incorporates all bugfixes and changes made in the previous MySQL Cluster NDB 6.3 release, as well as all bugfixes and feature changes which were added in mainline MySQL 5.1 through MySQL 5.1.22 (see Changes in MySQL 5.1.22 (2007-09-24, Release Candidate)).
Please refer to our bug database at http://bugs.mysql.com/ for more details about the individual bugs fixed in this version.
Functionality Added or Changed
Incompatible Change:
The --ndb_optimized_node_selection startup
option for mysqld now permits a wider range
of values and corresponding behaviors for SQL nodes when
selecting a transaction coordinator.
You should be aware that the default value and behavior as well
as the value type used for this option have changed, and that
you may need to update the setting used for this option in your
my.cnf file prior to upgrading
mysqld. See
Server System Variables, for more information.
Replication:
On MySQL replication slaves having multiple network interfaces,
it is now possible to set which interface to use for connecting
to the master using the
MASTER_BIND='
option in a interface'CHANGE MASTER TO
statement.
(Bug #25939, Bug #11746389)
Cluster Replication: A replication heartbeat mechanism has been added to facilitate monitoring. This provides an alternative to checking log files, making it possible to detect in real time when a slave has failed.
Configuration of heartbeats is done using a new
MASTER_HEARTBEAT_PERIOD =
clause for the
intervalCHANGE MASTER TO statement (see
CHANGE MASTER TO Syntax); monitoring can be done by
checking the values of the status variables
Slave_heartbeat_period and
Slave_received_heartbeats (see
Server Status Variables).
The addition of replication heartbeats addresses a number of issues:
Relay logs were rotated every
slave_net_timeout seconds
even if no statements were being replicated.
SHOW SLAVE STATUS displayed
an incorrect value for
Seconds_Behind_Master following a
FLUSH LOGS
statement.
Replication master-slave connections used
slave_net_timeout for
connection timeouts.
(Bug #20435, Bug #29309, Bug #30932)
Cluster Replication:
A new configuration parameter
TimeBetweenEpochsTimeout
enables a timeout to be set for time between epochs.
(Bug #31276)
Cluster Replication:
Support for a new conflict resolution function
NDB$OLD() has been added for handling
simultaneous updates in multi-master and circular replication
setups. A new status variable
Ndb_conflict_fn_old tracks the
number of times that updates are prevented from being applied
due to this type of conflict resolution. See
MySQL Cluster Replication Conflict Resolution,
for more information.
A --bind-address option has been
added to a number of MySQL client programs:
mysql, mysqldump,
mysqladmin, mysqlbinlog,
mysqlcheck, mysqlimport,
and mysqlshow. This is for use on a computer
having multiple network interfaces, and enables you to choose
which interface is used to connect to the MySQL server.
A corresponding change was made to the
mysql_options() C API function,
which now has a MYSQL_OPT_BIND option for
specifying the interface. The argument is a host name or IP
address (specified as a string).
Additional checks were implemented to catch unsupported online
ALTER TABLE operations. Currently
it is not possible to reorder columns or to change the storage
engine used for a table using online ALTER
TABLE.
Some redundant checks made during online creation of indexes were removed.
Bugs Fixed
It was possible in some cases for a node group to be “lost” due to missed local checkpoints following a system restart. (Bug #31525)
A node failure during a local checkpoint could lead to a subsequent failure of the cluster during a system restart. (Bug #31257)
An interpreted program of sufficient size and complexity could cause all cluster data nodes to shut down due to buffer overruns. (Bug #29390)
ndb_mgm --help did not
display any information about the -a option.
(Bug #29509)
NDB tables having names containing
nonalphanumeric characters (such as
“$”) were not discovered
correctly.
(Bug #31470)
A cluster restart could sometimes fail due to an issue with table IDs. (Bug #30975)
The cluster log was formatted inconsistently and contained extraneous newline characters. (Bug #25064)
Transaction timeouts were not handled well in some circumstances, leading to excessive number of transactions being aborted unnecessarily. (Bug #30379)
In some cases, the cluster managment server logged entries multiple times following a restart of ndb_mgmd. (Bug #29565)
A transaction was not aborted following the failure of statement. (Bug #31320)
The mysqld_safe script contained a syntax error. (Bug #30624)
Online ALTER operations involving a column
whose data type has an implicit default value left behind
temporary .frm files, causing subsequent
DROP DATABASE statements to fail.
(Bug #31097)
Errors could sometimes occur during an online ADD
COLUMN under load.
(Bug #31082)
Transactions were committed prematurely when
LOCK
TABLE and SET autocommit = 0 were
used together.
(Bug #30996)
