Documentation Home
MySQL Utilities Release Notes
Download these Release Notes
PDF (US Ltr) - 224.3Kb
PDF (A4) - 225.9Kb

MySQL Utilities Release Notes  /  Changes in Release 1.4  /  Changes in MySQL Utilities 1.4.3 (2014-05-27, General Availability)

Changes in MySQL Utilities 1.4.3 (2014-05-27, General Availability)

This section documents all changes and bug fixes applied since the release of 1.4.2, and is the first General Availability (GA) release of the 1.4.x branch.

Bugs Fixed

  • With fabric, a move_shard operation failed if the client password was defined in fabric.cfg. (Bug #18824565)

  • Due to the several changes in the high-availability and sharding sub-systems, the automatic routine to automatically find the lockable objects for a given procedure was not always valid. The consequence was that some procedures may have tried to update the same group concurrently when they should have been serialized. (Bug #18712020, Bug #72553)

  • When executing "mysqlfabric manage setup", some of the generated "CREATE TABLE" statements were explicitly requesting the InnoDB engine and ignoring the default-storage-engine option, thus preventing use of NDB as a state store. (Bug #18648779)

  • The FailoverDaemon class from the failover_daemon module was refactored to extend the Daemon class, so that the duplicated code was removed. (Bug #18546744)

  • Any empty password definition ("password = ") in the configuration file would emit errors. (Bug #18524482, Bug #72149)

  • Optimizations to the mysqldbcompare utility include:

    • A new step was added to the data consistency check, now executing a CHECKSUM TABLE first (which is faster when no differences are expected). The current comparison algorithm is only execute if this preliminary full table checksum fails. A new --skip-checksum-table option was added to skip this new step that otherwise is executed by default.

    • The BINARY type is used instead of CHAR to store hash values in a more optimized way.

    • Unnecessary keys were removed from the temporary table (including the primary key).

    • ENGINE=MyISAM is now used for the temporary compare table.

    (Bug #18483844)

  • The temporary table created by the mysqldbcompare utility was missing an index for the 'span' column, meaning that the "_COMPARE_SUM" and "_COMPARE_DIFF" queries were doing full table scans. (Bug #18483844)

  • The mysqldbcompare utility was not correctly checking differences for different rows internally associated to the same span key. Only the first difference was displayed. (Bug #18477410)

  • Remote commands were authenticating the request twice, both before and after the command was sent to Fabric. This meant unnecessary requests were made to the state store. (Bug #18477189)

  • Commands failed if the "protocol.xmlrpc.user" option was not provided in the configuration file or from the command-line. Now, the user "admin" is the default. (Bug #18459012)

  • Executing "mysqlfabric manage setup" would sometimes halt with a connection error due to a short timeout. (Bug #18458461)

  • A "group add" with a server as "localhost:32274" caused Fabric to hang, as 32274 is the port used by Fabric. (Bug #18454737, Bug #72119)

  • A "PROMOTE" after "RESET MASTER" would cause Fabric to hang. Now, "SHOW SLAVE STATUS" is used to check whether the slave has processed all of the entries in the relay log. (Bug #18454679, Bug #72118)

  • Some Fabric commands, such as "server.set_status" and "group.promote", accepted a reference to a MySQL server's uuid but not a reference to an address and port. (Bug #18440617, Bug #72094)

  • The mysqlrplms utility did check the MySQL server version when executed on MySQL server 5.7. (Bug #18434209)

  • With fabric, the pylint_tests script mixed the output from both pep8 and pylint results. A new --tester option was added that allows the tester to be chosen, which can be either "pylint", "pep8", or "all" (the default). (Bug #18383839)

  • The mysqlrplsync utility was allowing the --exclude option to take an empty value, and the user was not notified. This now generates an error. (Bug #18381748)

  • The "__name__ == '__main__'" attribute check was added to all scripts that can be executed as a standalone program. (Bug #18376793)

  • The mysqldbcopy, mysqldbimport and mysqldbexport utilities were not fully functional for all possible data types. Prefixes such as TINY, SMALL, MEDIUM, and BIG were not being taken into account when verifying the column data type.

    This issue was only present when the source server did not equal the destination server. In other words, when copied and not cloned. (Bug #18373190, Bug #71890)

  • The mysqldbexport utility would export BLOB rows using two statements; an INSERT followed by an UPDATE. This did not function if the exported table did not have at least one "UNIQUE NOT NULL INDEX", since UPDATE statements cannot uniquely identify each row. Now, they are exported using a single INSERT statement. (Bug #18373190, Bug #71890)

  • Invoking the mysqlfabric utility with the wrong number of parameters would display general usage help for the utility, but it now shows help for the specified command. (Bug #18370958)

  • The mysqldbcopy utility threw an internal Python exception when --rpl=slave was passed in without specifying --rpl-user. (Bug #18338321)

  • The mysqlauditgrep utility did not support changes made to the audit log format in the "NEW" format. Both "NEW" and "OLD" formats are now supported.

    The audit_log_format option defaults to "OLD" in MySQL server 5.6, and "NEW" in MySQL server 5.7. (Bug #18314951, Bug #71838)

  • The mysqslindexcheck utility was considering a PRIMARY key as redundant when this key was compared to a unique index with more columns than the PRIMARY key, which caused the DROP statement to be displayed as "None;" with the --show-drops option. In this scenario, the index key is now marked as redundant instead of the PRIMARY key. (Bug #18281513, Bug #71745)

  • The mysqlserverinfo utility threw an internal Python exception when passing a nonexistent server to --server. (Bug #18262507)

  • dump.shard_* did not take into account disabled shards, and therefore reported disabled shards through the dump interface. (Bug #18259479, Bug #71701)

  • An indexcheck option was added to the mysqlindexcheck utility. It reports on tables without a PRIMARY or UNIQUE key. Previously, this information was only available with a high verbosity level (-vv). (Bug #18241174, Bug #71690)

  • mysqldbcompare failed to properly compare the same views on different schemas. This caused the objects to be seen differently. (Bug #17864081, Bug #71022)

  • Because each xmlrpc session requires a database connection, it is possible to exceed the maximum number of connections in the backing store. The failure detector did not function properly when the number of connections was exceeded, and as such it could not promote a new server to the master. This scenario now generates an exception when fabric starts with the built-in failure detector is enabled. (Bug #17747197)

  • The mysql/utilities/common/ script would stop processing when a blank line was encountered. However, the General Query Log may include multi-line statements that include blank lines. (Bug #71851)

  • In MySQL Utilities v1.3.x, the second call to the mysqlfailover utility could fail. (Bug #71724)