MySQL Cluster Manager 1.3 Release Notes

Abstract

This document contains information about changes in successive versions of MySQL Cluster Manager 1.3, starting with the most recent release (MySQL Cluster Manager 1.3.6). Changes in previous MySQL Cluster Manager releases can be found afterwards, ordered from newest to oldest.

For additional MySQL Cluster Manager 1.3 documentation, see http://dev.mysql.com/doc/mysql-cluster-manager/1.3/en/.

Updates to these notes occur as new product features are added, so that everybody can follow the development process. If a recent version is listed here that you cannot find on the download page (http://dev.mysql.com/downloads/), the version has not yet been released.

The documentation included in source and binary distributions may not be fully up to date with respect to release note entries because integration of the documentation occurs at release build time. For the most up-to-date release notes, please refer to the online documentation instead.

For legal information, see the Legal Notices.

For help with using MySQL, please visit either the MySQL Forums or MySQL Mailing Lists, where you can discuss your issues with other MySQL users.

For additional documentation on MySQL products, including translations of the documentation into other languages, and downloadable versions in variety of formats, including HTML and PDF formats, see the MySQL Documentation Library.

Document generated on: 2016-12-23 (revision: 10527)


Table of Contents

Preface and Legal Notices
Changes in MySQL Cluster Manager 1.3.6 (2015-07-02)
Changes in MySQL Cluster Manager 1.3.5 (2015-04-15)
Changes in MySQL Cluster Manager 1.3.4 (2015-02-26)
Changes in MySQL Cluster Manager 1.3.3 (2014-12-01)
Changes in MySQL Cluster Manager 1.3.2 (2014-08-15)
Changes in MySQL Cluster Manager 1.3.1 (2014-04-30)
Changes in MySQL Cluster Manager 1.3.0 (2014-01-13)

Preface and Legal Notices

This document contains information about changes in successive versions of MySQL Cluster Manager 1.3, starting with the most recent release (MySQL Cluster Manager 1.3.6). Changes in previous MySQL Cluster Manager releases can be found afterwards, ordered from newest to oldest.

Legal Notices

Copyright © 2009, 2016, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

This documentation is NOT distributed under a GPL license. Use of this documentation is subject to the following terms:

You may create a printed copy of this documentation solely for your own personal use. Conversion to other formats is allowed as long as the actual content is not altered or edited in any way. You shall not publish or distribute this documentation in any form or on any media, except if you distribute the documentation in a manner similar to how Oracle disseminates it (that is, electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium. Any other use, such as any dissemination of printed copies or use of this documentation, in whole or in part, in another publication, requires the prior written consent from an authorized representative of Oracle. Oracle and/or its affiliates reserve any and all rights to this documentation not expressly granted above.

Changes in MySQL Cluster Manager 1.3.6 (2015-07-02)

This section documents all changes and bug fixes that have been applied in MySQL Cluster Manager 1.3.6 since the release of MySQL Cluster Manager version 1.3.5.

Functionality Added or Changed

  • Agent: When a cluster was stopped, it was possible to set an invalid value for LogDestination, which caused a segmentation fault when the cluster was restarted. With this fix, validation of LogDestination is now performed when it is being set. (Bug #20948621)

  • Agent: When a wild cluster's configuration was being imported with the import config command and the PID files for the cluster processes were available to mcmd, attributes that can only be set at the process type level (for example, MaxNoOfAttributes), if specified differently for different instances in the cluster's configuration file, received different values for the different process instances. With this fix, when an attempt is made to set such an attribute at the instance level, mcmd sets the attribute at the process type level instead, and a warning is issued to the agent log. If the same attempt was made more than once with different values during a configuration import, the last value seen by mcmd is used, and a warning is issued in the log. (Bug #20948149)

  • Agent: When MySQL Cluster Manager imports a MySQL Cluster of an older version than the one it is itself running on, any deprecated configuration settings are no longer imported; instead, warnings are issued to the agent log that the settings have been skipped during the import. (Bug #20887560)

  • Agent: A new command, backup agents, has been introduced for backing up mcmd agents' configuration data. For more details, see Backing Up and Restoring MySQL Cluster Manager Agents. (Bug #20070946)

  • Client: Warnings are now issued when users try to set internal options (options used only for internal testing) with the mcm client. (Bug #21253863)

  • Client: For configuration parameters of the enumeration type, when invalid values for them are set, mcm now include a list of valid values in the error message. (Bug #18502419)

  • Client: A warning message is now issued when the add package command is used to add to MySQL Cluster Manager a version of MySQL Cluster that has already been deprecated. (Bug #17894620)

Bugs Fixed

  • Agent: A rolling restart of a cluster was timeouted when no events were received from a restarting data node for more than two minutes. (Bug #221287290)

  • Agent: During the recovery of a cluster, if the cluster's network configuration had been changed since it was last defined and a host could not be connected to, the recovery process would hang. With this fix, at the situation, a warning is written to the log of any agent that is unable to properly resolve host names of other agents of the site. (Bug #21169405)

  • Agent: After setting BackupDataDir, if some of the data nodes used the same backup directory, the list backups command displayed incorrect information about the backups. (Bug #21144638)

  • Agent: On Windows platforms, the backup of the agent configuration automatically created by mcmd during a cluster upgrade was inconsistent, with contents different from those in the original agent repository. (Bug #21135075)

  • Agent: When a mysqld node using a non-default location for its data directory was added to cluster that was already running, trying to start the added node with start process --added command resulted in a timeout error. (Bug #21111944)

  • Agent: restore cluster timed out when some nodes held onto ndpapi slots that they did not need, so that the node responsible for rebuilding the indexes could not have the free API slot it was waiting for. This fix makes sure that API slots are not needlessly occupied while restore cluster is being executed. (Bug #20956393)

  • Agent: After a cluster backup was completed, show status --backup resulted in an Unable to get backup status for cluster error if NoOfReplicas was set to 1. (Bug #20950494)

  • Agent: When show status was executed on a cluster, mcmd tried to connect to and query a management node even if the cluster was known to have stopped. On Windows platforms, the query took a long time to finish. This fix eliminates the unnecessary query for the stopped node. (Bug #20916482)

  • Agent: When using the import config command, loading of extra configuration files by !include or !includedir directives in a configuration file failed if there were extra spaces between the directives and the file paths that followed. This fix corrects the way whitespace is handled for those directives. (Bug #20888600)

  • Agent: A segmentation fault occurred for the import config command when a key = value pair in the configuration file had only spaces after the =. This fix corrects the ways whitespace characters in key = value entries are handled during an import. (Bug #20871452)

  • Agent: While performing a stop cluster command, the mcmd agent hung after being unable to stop a mysqld node. With this fix, stop cluster times out, and mcmd immediately throws an error when the next non-forced stop cluster command is attempted. (Bug #19805950)

  • Agent: When LogDestination is set to CONSOLE or SYSLOG, mcmd is not able to detect whether the ndb_mgmd node is running, or to scan the log from the ndb_mgmd node. Although this is expected behavior, no error was thrown when this occurred. With this fix, an error is thrown, with a message stating that the log must go to a file. (Bug #13040093)

  • Client: When using the add process command after a create cluster --import command but before an import cluster command, the added processes hung with status added status even after the cluster import. This later caused mcmd to crash due to an assertion failure when performing other cluster operations; sometimes, even the repository might get corrupted, making a cluster restart impossible. (Bug #20985984)

Changes in MySQL Cluster Manager 1.3.5 (2015-04-15)

This section documents all changes and bug fixes that have been applied in MySQL Cluster Manager 1.3.5 since the release of MySQL Cluster Manager version 1.3.4.

Functionality Added or Changed

  • Agent: A site can now be scaled down using the new remove hosts command. (Bug #20677633)

  • Agent: The start up of a new cluster on Windows platforms is now faster due to the reduction of the wait time by mcmd for the bootstrapping of SQL nodes. (Bug #20593752)

  • Client: The upgrade cluster command now supports a --set option, allowing users to set new values for configuration attributes for the upgraded cluster. (Bug #20700483)

  • Client: Execution of client commands is now faster, as unnecessary wait time for events to complete is now eliminated. (Bug #20559800)

  • Client: Error messages for syntax errors involving integers (or lists of integers) in value lists for operands or options have been improved to pinpoint the issues. (Bug #19845253)

Bugs Fixed

  • Agent: When trying to use the delete package command to remove a package from a host with only unmanaged processes, the command failed with an error, complaining that the package is in use by the cluster. (Bug #20719467)

  • Agent: During a cluster restart or recovery, the agent tried to connect too soon to the cluster processes, causing repeated connection failures. This fix makes sure connection attempts to the processes are triggered only when the processes are ready. (Bug #20204375, Bug #19047715)

  • Agent: The list backups command sometimes caused an agent to hang, as another agent on another host might fail to reply to its query for backup information and keep it waiting. (Bug #15854331)

  • Client: In the output of the list backups command, the timestamps for the backups were inaccurate. (Bug #20731491)

  • Client: When applied to the last host on a site, the delete package command failed to remove the package from the host, causing a subsequent delete site command to fail with the error Package exists in site site_name. (Bug #20719467)

  • Client: The suffixes K, M, and G cannot be used when setting the numeric value of a configuration attribute of type DOUBLE, but such use of these suffixes were not rejected by the client. (Bug #20686014)

  • Client: When executing the backup cluster command, the mcm client sometimes hung due to a timeout, because it took too long for the client to receive the message from a node that backup had started. To avoid that, this fix extends the timeout period from 2.5 minutes to 5 minutes. (Bug #20677633)

  • Client: The show warnings command sometimes failed to show warnings triggered by a SET GLOBAL statement, which is sent by mcmd to a mysqld node for setting a dynamic variable. (Bug #20593156)

  • Client: An assertion error occurred when, at an early stage of a recovery, a node failed to fulfill the request for a process status update from another node, because no composite status of the cluster had yet been received. With this fix, the request is ignored, with a warning added to the log. (Bug #20552220)

  • Client: When a backup cluster command's failure was due to a node failure, that was not clearly stated in the error message shown by mcmcd. (Bug #20032694)

Changes in MySQL Cluster Manager 1.3.4 (2015-02-26)

This section documents all changes and bug fixes that have been applied in MySQL Cluster Manager 1.3.4 since the release of MySQL Cluster Manager version 1.3.3.

Functionality Added or Changed

  • Client: The configuration files for maintaining the MySQL configuration options have been cleaned up and consolidated. This means that there are fewer *_configdef_*.xml files under the var directory in the mcm installation directory than previously, and corrections have been made to some minor problems with the handling of some options by mcm. (Bug #20318036)

  • Client: Support for a number of ndb_restore options have been added to the restore cluster command; see this command's description for details. (Bug #20310081)

  • Client: The restriction against manually assigning a node ID less than 49 to a process other than a data node with the create cluster or add process command has now been lifted. Note that users are still recommended to follow the best practice of reserving node ID 1 to 48 for data nodes, which cannot take a node ID greater than 48. (Bug #20284278, Bug #75331)

  • Client: A warning is now written to the agent log file (mcmd.log) when users try to set a deprecated configuration variable. (Bug #20242779)

  • Client: A new command, show settings, has been added for showing the current values of a number of mcmd options. (Bug #20102394)

  • Client: When listing options for a specific mcm command using the --help option, options already listed under Required options are no longer repeated under Valid options (Bug #19910130)

  • Client: Process lists resulting from commands like list processes, create cluster -v, add process -v and show status --process are now sorted first by process type, and then by node ID. Before, it was sorted by the order in which the processes were created. (Bug #19881161)

  • Client: MySQL Cluster Manager now fully supports multiple entries for replication attributes that accept more than one value (for example, replicate_ignore_table, replicate_ignore_db, and replicate_do_table); see the descriptions for the get and reset commands for details. (Bug #19845790)

  • Client: For the mcm configuration commands (get, set, and reset), the process name can now be omitted from the filter specification list. For example, get DataMemory::2 mycluster is now a valid command. (Bug #19035112, Bug #73063)

  • Client: [For Unix-like platforms only] To separate history logging for the mcm and the mysql clients, the mcm client history is now logged, by default, in the .mcm_history file under the home directory of the user who runs mcm. To change the default file path for the log file, set the environment variable MCM_HISTFILE with the desired value before starting mcm. (Bug #18186455)

  • Client: The new show warnings command allows you to check for any warnings issued in the agent log (mcmd.log) for the last command you entered in the mcm client. (Bug #16633542)

  • Client: When setting a dynamic attribute for a mysqld node, mcmd no long restarts the node immediately, but sends a SET GLOBAL statement to apply the new value to the mysqld node, and also saves the value in the mysqld configuration file in order to have the value applied again at the next restart of the mysqld node. (Bug #16633542)

  • Client: When referring to cluster attributes in an mcm configuration command (get, reset. or set), dashes (-) and underscores (_) can now be used interchangeably within attribute names. For example, set ndb-cluster-connection-pool:mysqld=12 mycluster now works the same as set ndb_cluster_connection_pool:mysqld=12 mycluster. Previously, only the latter was accepted. (Bug #11761809, Bug #54335)

Bugs Fixed

  • Agent: After recovering from a failed cluster upgrade, the output from show status --process showed the wrong package name for the mysqld processes, which did not reflect the package that would be used for the subsequent restart. (Bug #20482379)

  • Agent: After an agent recovered itself from a failure, it might wrongly reported the status of the cluster node. This fix makes sure the correct node status is detected and reported. (Bug #20430481)

  • Agent: The dropping or recreating of a node group that took place when adding data nodes could sometimes fail when, for example, the nodes were not added in the sequential order of the node groups. This fix relaxes the assertion for node group consistency in the code that caused the failure. (Bug #20104357)

  • Agent: After stopping an ndbd process that had never been started before, adding a new ndbd process and stopping it resulted in an internal error. (Bug #20092204)

  • Agent: When an agent restarted and attempted to reconnect to other site members, one of the contacted agents might end up failing with an XCOM error. This was due to a too-strict assertion regarding the XCOM version requirement, which has been removed by this fix. (Bug #19414104)

  • Agent: When an agent on a cluster host replied to another host's enquiry for a list of backups, at the end of its reply, it also sent a critical warning on the network connection. This fix stops the warning by having the agent perform a proper reset for its network connection. (Bug #19209223)

  • Agent: An internal error occurred when the argument for LogDestination contained a colon (:), which is common in Windows file paths. With this fix, mcmd can now handle appropriately the disk designators in Windows file paths. (Bug #19193738)

  • Agent: After issuing an import config command, file paths in Windows format in the cluster configuration files were converted to Unix format. (Bug #19053590)

  • Client: A cluster upgrade sometimes failed because some agents did not load the configuration definition for the package early enough, causing the agents to go out-of-sync with each other with respect to the reconfiguration plan. This fix forces all agents to load the configuration definition before sending out the status update that indicates completion of the reconfiguration. (Bug #20469039)

  • Client: Out-of-range values for the attribute binlog_cache_size used in a set command were not rejected by mcm, which caused an error when the cluster was started. This fix corrects the faulty boundary test on the attribute. (Bug #20351340)

  • Client: When the upgrade cluster command used the package that MySQL Cluster Manager was already using, the upgrade process failed. With this fix, mcm first checks the package version before starting any upgrade process and throws an error in the described situation. (Bug #20144280)

  • Client: If stop cluster was issued immediately following a restart cluster command which had been issued by another client and was still running, the restart cluster command failed. With this fix,the two commands are now carried out successfully in the order they are issued. (Bug #19125493)

Changes in MySQL Cluster Manager 1.3.3 (2014-12-01)

This section documents all changes and bug fixes that have been applied in MySQL Cluster Manager 1.3.3 since the release of MySQL Cluster Manager version 1.3.2.

Functionality Added or Changed

  • Agent: For a node on which an expected backup is not found, the output from list backups now displays None for BackupId and No backups under Comment. (Bug #19208671)

  • A remove process command has been added, providing a means to scale down a cluster offline. See The remove process Command for details.

Bugs Fixed

  • Agent: When a cluster was in single-user mode, any mcm command that caused a configuration change and subsequent rolling restart (for example, a set, add process, or restart cluster) stopped the first data node in each node group but was then be unable to restart it, due to a limitation with MySQL Cluster. With this fix, mcm rejects such commands with an error, instead of allowing the data nodes to be stopped. (Bug #20026523)

  • Agent: When MySQL Cluster Manager tried to create a temporary directory (tmpdir) for a mysqld node under its data directory (manager-dir), it did not always follow the specification for manager-dir for this node, which sometimes resulted in putting the temporary directory in the wrong location. (Bug #20026523)

  • Agent: When the --log-use-syslog option was set during the startup of mcmd, an error was thrown, stating that the option --log-file was also being used (which is not allowed) even if --log-file was not really set. (Bug #19972864)

  • Agent: If a data node went from the running into the added state for some reason, it became irrecoverable by MySQL Cluster Manager because, as a safeguard, MySQL Cluster Manager did not start a newly added data node automatically when the cluster was running. The safeguard is now removed, in order to allow the recovery of a data node in the described situation. (Bug #19787156)

  • Agent: During the recovery of an mcmd agent from a crash, if the cluster's management node could not be contacted for information, the agent reported the status of the managed processes as they were last known, which might not reflect the actual status of the processes (for example, a process might have just crashed, and the agent would still report it as running), With this fix, the mcmd agent will report the status of the processes as unknown in the described situation. (Bug #19321446)

  • Agent: When bootstrapping a default cluster with the --bootstrap option, the ndbd process was used for data nodes. With this fix, the multi-threaded ndbmtd process is used instead, which is preferable from a performance perspective. (Bug #18068338)

  • Agent: An mcmd agent crashed when trying to stop a cluster that was hanging during an operation to restore itself. (Bug #17957393)

  • Agent: Configuration attribute values starting and ending with double quotes could not be set using the set command. (Bug #13040122)

  • Client: When setting the LogDestination configuration attribute using the set command, mcm threw a syntax error when the attribute's value was single-quoted. (Bug #19435351)

  • Client: The error reporting for a data node crash by the MySQL Cluster Manager client did not include the cause of ALERT conditions. With this fix, ALERT is included as a matching pattern for errors in data node logs, which might result in more information on the crash being provided. (Bug #19426279)

  • Client: When attempting to add to a site a host that already belonged to another site, the MySQL Cluster Manager client hung; even after the client was restarted, proper control of the agent (to which the client was connected) could be recovered only after deleting the site (for which add hosts was attempted). With this fix, MySQL Cluster Manager checks whether the host already belongs to some other site when create site or add hosts is issued, and throws an error if that is the case. (Bug #18424613)

  • Client: A newline contained inside a multi-line set command caused mcm to throw an error. (Bug #11759662, Bug #51992)

Changes in MySQL Cluster Manager 1.3.2 (2014-08-15)

This section documents all changes and bug fixes that have been applied in MySQL Cluster Manager 1.3.2 since the release of MySQL Cluster Manager version 1.3.1.

Functionality Added or Changed

  • Agent; Client: In order to improve execution robustness, MySQL Cluster Manager now fails any commands that reconfigure a cluster with the message ERROR 5027 Unable to perform command due to utility <proc_name> with pid <ospid> on <host> if any utility process (for example, mysql_upgrade, mysql_install_db, or ndb_restore) that was started by a previous command still remained (running or hung) on any host when the command was issued. (Bug #18966650)

  • Client: MySQL Cluster Manager now throws an error if the user tries to import a cluster or a cluster configuration using import cluster or import config when the user running the mcmd process does not have permission to access PID files for the cluster processes. This happens typically when mcmd is started as the mysql the user but the cluster is started as root. (Bug #18887139)

Bugs Fixed

  • Agent; Client: On Windows platforms, when a data node could not be restarted during a rolling restart of the cluster, it was not reported to the user. With this fix, the user now gets a report when a maintenance restart of a data node fails. (Bug #19227535)

  • Agent; Client: The import config command did not import configuration settings from a cluster's my.cnf file properly. Problems with the import included the following:

    • Some settings in the [mysqld] section were left out (for example, key_buffer_size and query_cache_type).

    • Some options in the [client] section were included by mistake.

    • The !include and !includedir statements for including settings from other files were ignored

    • Quoted values were not handled properly—the quotes were taken literally.

    • Lines starting with a semicolon (;) were not treated as comments.

    • The option modifiers loose_ and maximum_ were not recognized.

    • Option groups for specific release series (for example, [mysqld-5.6]) were not imported.

    (Bug #19078129)

  • Agent; Client: When the configuration of a running cluster was imported using import config, even if the parameter ThreadConfig was not defined in the config.ini file, its value could be imported from the running node's setting for it. The imported value overrode the configuration prescribed by the MaxNoOfExecutionThreads parameter in config.ini, which is supposed to set the thread configuration when ThreadConfig is not specified in config.ini. This fix prevents the importation of the value for ThreadConfig from the running node, making MySQL Cluster Manager rely on the config.ini file for the thread configuration. (Bug #19032714)

  • Agent; Client: When using the import config command, the format of an imported configuration setting was sometimes changed from that which was used in the config.ini file—for example, a value in megabytes was imported as a value in bytes and then shown as such by the get command. That made it more difficult for the user to compare the original and the imported value. This fix makes MySQL Cluster Manager follow the original format in the config.ini file when importing a cluster's configuration. (Bug #18651726)

  • Agent; Client: The import config command sometimes imported MySQL server default values that were not specified in the cluster's configuration files. With this fix, no such values are imported. (Bug #18651301)

  • Agent: Executing import config when managing more than one cluster could cause the MySQL Cluster Manager agent to fail. (Bug #19380825)

  • Agent: During a recovery for a MySQL Cluster Manager agent that used IP addresses instead of hostnames, the agent sent out an excessive amount of information, the processing of which slowed down the restart process considerably. This fix changes the way the IP addresses are handled, reducing the amount of sent information to a much more reasonable level. (Bug #19269735)

  • Agent: When a wild cluster's process PIDs were not available to MySQL Cluster Manager, executing an import cluster command resulted in a process error and the complaint that a process handle could not be opened. With this fix (which is a side effect of the fix for Bug #19209870), MySQL Cluster Manager no longer attempts to open handles for unknown PIDs. (Bug #19205183)

    References: See also: Bug #19209870.

  • Agent: Upgrades from MySQL Cluster Manager 1.2.4 (to 1.3.1) failed when the last command executed before the upgrade was any one of backup cluster, restore cluster, abort backup, or import cluster. This problem has been fixed, and users of version 1.2.4 can now upgrade to version 1.3.2. (Bug #19199645)

  • Agent: The MySQL Cluster Manager agent sometimes threw SIGABRT errors while executing SQL statements. (Bug #19032927)

  • Agent: mcmd crashed due to an out-of-memory error after a combination of the following conditions:

    • An abrupt failure of one of the site hosts, instead of a clean stop.

    • Only a minority of the agents were available.

    • Some unmanaged SQL slots came into use, changed their states to connected, and the changes were reported by a ndb_mgmd process.

    (Bug #18781345)

  • Client: Restoration of a cluster failed when the cluster contained API nodes with and without specified hostnames. (Bug #19313429)

  • Client: If a mysqld process was specified in a create cluster statement using mysqld@* syntax (with no host specified), the show status --process commands did not show the process as connected, even when it was. (Bug #19152161)

  • Client: When using the show status command with the --backup option, the MySQL Cluster Manager client sometimes accepted additional options, which was actually meaningless. This fix makes the client throw an error when any other option is used in combination with --backup. (Bug #19032714)

  • Client: MySQL Cluster Manager threw an error when the add package command was run with the argument for the --basedir option being double quoted, which claimed that the path did not exist. This was because MySQL Cluster Manager took the double quotes literally, as parts of the path name. (Bug #18973711)

  • Client: On Windows platforms, the MySQL Cluster Manager client's response to the list hosts command was very slow when any one of the MySQL Cluster Manager agents was down. (Bug #18966650)

  • Client: When the configuration of a running cluster was being imported, the import config command took the settings from the global session variables instead of the configuration files of the cluster and the MySQL servers. This fix makes MySQL Cluster Manager import the settings from the configuration files, and only use values of the global session variables when it cannot find, open, or access the configuration files. (Bug #18652366)

  • Client: When using the import config command, some process-level settings in the cluster's config.ini file were imported as instance-level settings. (Bug #18651663)

Changes in MySQL Cluster Manager 1.3.1 (2014-04-30)

This section documents all changes and bug fixes that have been applied in MySQL Cluster Manager 1.3.1 since the release of MySQL Cluster Manager version 1.3.0.

Functionality Added or Changed

  • Important Change; Client: Added the import config command. This command simplifies the process of importing a previously autonomous MySQL Cluster into MySQL Cluster Manager by importing automatically most of the cluster's configuration data into the cluster definition that has been created as part of the import process, eliminating the need for reading of configuration files and SHOW VARIABLES output and issuing of most set commands needed to prepare a cluster for import.

    This command also supports a --dryrun option (short form: -y) for testing purposes.

    You should note that any nonstandard ports used by ndb_mgmd or mysqld processes in the existing MySQL Cluster must be configured manually (using set) for the corresponding processes in the target cluster before trying to use import cluster to import the wild cluster's data.

    For more information, see The import config Command, and Importing MySQL Clusters into MySQL Cluster Manager.

  • Client: The --import option for create cluster now enables assignment of node ID values less than 49 for ndb_mgmd, mysqld, and ndbapi processes. The create cluster command used without this option continues to enforce the rule that processes that are not data node processes must have node IDs greater than 48. (Bug #18181039)

Bugs Fixed

  • Agent: When executing backup cluster --waitstarted and abort backup in succession, it was possible in some circumstances for the agent to use the wrong backup ID internally. (Bug #18027413)

  • Client: After performing an initial start of a cluster, the cluster is no longer aware of any backup IDs that have previously been used. If you take a new backup of the cluster afterwards without specifying a backup ID, the cluster tries to use 1 as the ID for the first such backup, even if you restored the cluster from a backup having 1 as its ID, which results in an error. This is expected behavior, for which there are at least 2 workarounds:

    1. Move or rename the backup files following the restoration.

    2. Execute the backup cluster command using the --backupid option, to specify a backup ID that is not already in use.

    Issues arose in such cases because the error message returned was not sufficiently descriptive, and it could be difficult to determine the true nature of the problem without reading the management server and cluster log files. Now the error message returned by the mcm client makes it clear that the backup failed due to collision with an existing backup ID. (Bug #18465705)

  • Client: Executing the create site command using the names of one more hosts on which the MySQL Cluster Manager Agent was not running returned ERROR 1002 (00MGR): Agent on host <UNKNOWN>: (delivery status does not match current view) is unavailable. Now in such cases, the name of each host lacking an agent is included as part of the error message. (Bug #18200900)

  • Client: Attempting to set any of the mysqld configuration attributes relating to the thread pool plugin (see Thread Pool Installation)—including thread_pool_algorithm, thread_pool_high_priority_connection, thread_pool_max_unused_threads, thread_pool_prio_kickup_timer, thread_pool_size, and thread_pool_stall_limit—failed with the error No such configuration parameter ... for process mysqld. (Bug #18127968)

Changes in MySQL Cluster Manager 1.3.0 (2014-01-13)

This section documents all changes and bug fixes that have been applied in MySQL Cluster Manager 1.3.0 since the final release of MySQL Cluster Manager 1.2.

Collect log and other files for offline/offsite analysis

  • Client: In the event of major problems with a MySQL Cluster, it is often necessary to collect all of the cluster's log and configuration files and to send or to copy these off-site for analysis. Formerly, this had to be done manually, or by using the ndb_error_reporter utility included with the MySQL Cluster distribution, but it is now possible to accomplish this task from within the mcm client, using the collect logs command added in this release. (Bug #11757603)

Import of standalone clusters

Obtain next reserved node IDs

  • Client: MySQL Cluster Manager normally assigns IDs to new node processes automatically (although this can be overridden when issuing create cluster or add process). The list nextnodeids command added in this release prints the next node ID that has been reserved for the next new process of each type added to the cluster named cluster_name.

Log Rotation for mcmd

  • Agent; Client: A new rotate log command for the mcm client has been added in this release, to enable and configure log rotation for mcmd. (Bug #16982252)

Functionality Added or Changed

  • Important Change; Packaging: The directory structure of the MySQL Cluster Manager distribution archive has changed. The top level within the archive now contains a single directory named mcm-x.y.z, where x.y.z is the version number of the current release. The former top-level directories such as bin, libexec, and etc are now found within this mcm-x.y.z directory.

    For more information, see Installing MySQL Cluster Manager on Unix Platforms.

Bugs Fixed

  • Important Change; Client: The delete cluster command no longer removes configuration or data directories for cluster processes by default. Now, such directories are removed only when this command is invoked with the --removedirs option added in this release. (Bug #17455398)

  • Agent: Using hosts with different package locations in the same cluster did not work. (Bug #17491230)

  • Client: Setting the user or password option (or both) in a my.cnf file caused the MySQL Cluster Manager client to fail on startup with the error Illegal username or password. As part of the fix for this issue, the MySQL Cluster Manager client now reads only the [mcm] section of any option files, and ignores all other sections. (Bug #17540585)

  • Client: It was possible to start an SQL node, using the start process command, in an otherwise stopped cluster. In addition, this node could not be stopped using stop process afterwards.

    Now when you attempt to start a mysqld process in a cluster that is stopped, or in which the data nodes are otherwise unavailable, start process fails with an error. (Bug #17073352)

  • Client: The mcm client tried to add mysql client options which must be specified first on the command line in the wrong order. Now the mcm client checks for such options and makes sure that they are passed to mysql first. (Bug #16598776)