Dear MySQL Users,
MySQL Cluster Manager 1.4.7 can be downloaded from
the My Oracle Support (MOS) website. It will also be available
on Oracle Software Delivery Cloud at http://edelivery.oracle.com
<http://edelivery.oracle.com>with
the next monthly update
MySQL Cluster Manager is an optional component of the MySQL Cluster Carrier
Grade Edition, providing a command-line interface that automates common
management tasks, including the following online operations:
- Configuring and starting MySQL Cluster
- Upgrades
- Adding and removing cluster nodes
- Adding and removing site hosts
- Configuration changes
- Backup and restore
MySQL Cluster Manager is a commercial extension to the MySQL family of
products.
More details can be found at http://www.mysql.com/products/cluster/mcm/.
A brief summary of changes in MySQL Cluster Manager version 1.4.7 is
listed below:
Changes in MySQL Cluster Manager 1.4.7 (2018-12-14)
* Functionality Added or Changed
* Bugs Fixed
*Functionality Added or Changed*
* Agent: Performance has been improved for the add package
command by removing unnecessary queries from its
execution process. (Bug #28950231)
* Agent: The initialization script for mcmd now cleans up
the temporary files it creates under the tmp directory while
starting new mcmd processes. (Bug #28924059)
* Agent: The list hosts command now returns, in addition to
Available and Unavailable, two more possible statuses for
the agent of a host:
+ Recovery: The agent is in the process of recovering
itself
+ Unresponsive: The agent rejected an attempt to
connect
(Bug #28438155)
* Agent: The option --core-file
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-program-options-common.html#option_ndb_common_core-file),
when used at the command line to start a node in a wild
cluster, now causes the import cluster and update process
commands to give a warning (that the option "may be
removed on next restart of the process"), instead of
causing the commands to fail. See Creating and
Configuring the Target Cluster
(http://dev.mysql.com/doc/mysql-cluster-manager/1.4/en/mcm-using-import-cluster-create-configure.html)
for details. (Bug #28177366)
* Agent: The import cluster and update process commands now
support a new --remove-angel option, which kills any
angel processes for the data nodes to be imported or
updated and also updates the data nodes' PID files. See
descriptions for the two commands for details. (Bug
#28116279)
* Agent: The backup cluster command finishes faster now, as
some unnecessary wait time has been eliminated from the
backup process. (Bug #27986443)
* Agent: A new option for mcmd, --initial, allows an agent
that has fallen into an inconsistent state to recover its
configuration from other agents. See the description for
--initial for details. (Bug #20892397)
* Agent: The set, get, and reset commands now support the
following command-line-only attributes, which can only be
configured at the command line when outside MySQL Cluster
Manager:
+ For ndb_mgmd: --core-file, --log-name, --verbose
+ For ndbd and ndbmtd: --core-file, -- --verbose
* Agent: The internal mechanism for agent recovery
(http://dev.mysql.com/doc/mysql-cluster-manager/1.4/en/mcm-using-restore-agent.html)
has been improved, making it more robust and less error-prone.
* Client: To reduce the size of the mcmd log, node events
are no longer dumped into the log during a cluster
restart. (Bug #28843656)
* Client: The message for ERROR 5200 ("Restore cannot be
performed ...") has been expanded to include the reason
for the restore's failure. (Bug #25075284)
* Client: The message for ERROR 5017 has been expanded to
include the reason for an action being invalid for a
process or cluster. (Bug #22777846)
*Bugs Fixed*
* Agent: During a rolling restart for a cluster (which
takes place, for example, after a cluster
reconfiguration), the node group IDs for some data nodes
might become some invalid numbers transiently, and that
might cause mcmd to throw an internal error (Error 1003).
With this fix, such transient changes of node group IDs
are ignored by mcmd, and no error is thrown. (Bug
#28949173)
* Agent: An update process command on a mysqld node failed
with a timeout if the node was in the status of stopping.
It was because mcmd did not retry stopping the node, and
this fix makes it do so in the situation. (Bug #28913525)
* Agent: After a cluster reconfiguration failed, the
restart of an mcmd agent that had lost contact with other
agents might fail with a checksum error. That was because
in the process, the original configuration for the
cluster was removed from the agent's repository by
mistake. With this fix, the original cluster
configuration was preserved and the agent restarts as
expected. (Bug #28904775)
* Agent: When trying to shutdown a mysqld node, if mcmd
failed to get the MySQL Server's version number through a
query, the shutdown failed because mcmd could not decide
on the proper shutdown method. With this fix, mcmd falls
back on the shutdown method for the MySQL Server version
bundled with the mcmd version in the MySQL Cluster CGE
distribution. (Bug #28830884)
* Agent: Commands to reconfigure or stop a cluster hung
when a mysqld node did not respond to queries. With this
fix, under the situation, a query to a mysqld node times
out after a certain period of time, after which the
command for reconfiguring or stopping the cluster is
aborted and an error is returned. (Bug #28813012)
* Agent: mcmd hung when it failed to stop a data node that
was in an unknown status. With this fix, the stop process
command fails with an error in the situation. (Bug
#28780427)
* Agent: Attempts to restore an mcmd agent with data from
other agents
(http://dev.mysql.com/doc/mysql-cluster-manager/1.4/en/mcm-using-restore-agent.html)
failed with the agent remaining in the state of recovering indefinitely,
when any of the cluster log files was very long. With this
fix, the agent only scans the most recent segments of the
logs instead of the full logs for error information,
which speeds up the restore process and allows it to be
completed. (Bug #28671584)
* Agent: In an environment that used only IP addresses, if
a site was defined using host names, an mcmd agent hung
at startup or restart when it attempted reverse DNS
lookups. (Bug #28437469)
* Agent: The collect logs command sometimes reported
success before the operation was actually finished if the
cluster had many hosts and a lot of log data to be
collected. (Bug #28282932)
* Agent: mcmd failed to start when its init.d script found
the previous PID for mcmd was in use by another process,
which was taken to mean mcmd was already running. With
this fix, the process name for the PID is also checked,
so that mcmd is started again if the PID is no longer
used by mcmd. (Bug #28278727)
* Agent: The collect log command failed with an ERROR 1003
Internal error when no data was received on the TCP
connection established for collecting data from another
host. With this fix, the connection is closed gracefully
if no data is received, allowing other hosts to connect
to the TCP port and send data. (Bug #28278410)
* Agent: The restore cluster command failed when the
cluster to be restored contained databases with special
characters in their names. (Bug #28220549)
* Agent: Memory leaks occurred when an mcmd process on a
management node read large cluster logs during its
operations. This fix makes sure mcmd regularly truncates
the buffer for log reading, so the buffer size does not
keep growing in an uncontrolled manner. (Bug #28076545)
* Agent: On Windows platforms, the collect logs command
failed with an ERROR 1003 Internal error when the path
name of a log file to be transferred was exactly 260
characters. It was because, while 260 is the maximum
number of characters allowed, the internal test forgot to
count the trailing zero for the path name in the internal
buffer, so it failed to catch the error. With this fix,
mcmd throws an ERROR 106 Path max length exceeded for
file instead in the situation. (Bug #28062069)
* Agent: If mcmd was started on Windows platforms with the
option --log-syslog being true but without specifying the
--log-file option, running the show settings command
would cause mcmd to quit with an Error 2013 (Lost
connection to MySQL server during query). (Bug #27981362)
* Agent: When, due to some reasons (for example, time jumps
on virtual machines), an mcmd agent ended up receiving
incomplete event records from an ndb_mgmd node, the agent
quit unexpectedly. With this fix, mcmd can now parse and
handle incomplete records properly. (Bug #25746295)
* Agent: Agent recovery (for example, after upgrading the
agents) sometimes failed when the agent received recovery
configurations both locally and from a remote host, and
the recovering process was then frustrated, With the new
recovery mechanism now in place, the recovery
configuration is only received once. (Bug #25517245)
* Agent: The create site command failed with a timeout when
the site to be created had a large number of hosts (more
than 45), and the hosts were not uniform in their machine
configurations. (Bug #25075284)
* Client: In a number of instances where an ndb_mgmd
command or a mysqld query failed, the wrong error (Error
1006 or Error 7006) was thrown. With this fix, the
appropriate Error 7030 is thrown instead. (Bug #28829732)
On Behalf of MySQL Release Engineering team,
Surabhi Bhat