A.1. Tungsten Clustering 5.0.1 GA (23 Feb 2017)

Behavior Changes

The following changes have been made to Tungsten Clustering and may affect existing scripts and integration tools. Any scripts or environment which make use of these tools should check and update for the new configuration:

  • In previous releases, a client PING command would open a new connection to the MySQL server, execute a SELECT 1 and then returns the OK (or failure) to the client. This could introduce additional load and also affect the metrics if statement execution counts and connections were being monitored.

    This has been updated so that the PING request is sent verbatim through to the server by the connector.

    Issues: CT-1

  • The default security configuration for new installations is for security, including SSL and TLS and authentication, to be disabled. In 5.0.0 the default was to enable full security on all components which could lead to problems and difficulty when upgrading.

    Issues: CT-18

  • The manager is no longer restarted when updating the configuration with tpm when using the --replace-tls-certificate option.

    Issues: CT-120

Known Issue

The following issues may affect the operation of Tungsten Clustering and should be taken into account when deploying or updating to this release.

  • When performing an upgrade of MySQL 5.6 to MySQL 5.7, and after running mysql_upgrade, the MySQL server must be restarted. Failure to do this could cause switch or failover operations to fail.

    Issues: CT-70

  • Under certain circumstances, the rsyncprocess can randomly fail during the installation/ deployment process when using the staging method of deployment. The error code returned by rsync may be 12 or 23.

    The error is transient and non-specific and deployment should be retried.

    Issues: CONT-1343

Improvements, new features and functionality

  • Installation and Deployment

    • Support has been improved for CentOS 7, addressing some issues regarding the startup and deployment scripts used to manage MySQL and Tungsten Clustering

      Issues: CONT-211

    • tpm has been updated to cope with changes in the configuration and operation of MySQL 5.7.

      Issues: CONT-1060

    • When performing a persmissions check within tpm, changes to the way password and other information is confirmed has been updated to work correctly with MySQL 5.7. In particular, due to the way passwords are now stored and used, tpm will confirm the configured user and password by checking that login functions correctly.

      Issues: CONT-1578

    • During installation, tpm will no longer check the connector credentials if the connector has been configured to operate in bridge mode if application specific credentials are not supplied. If the --application-user and --application-password options are provided, tpm will run the same checks even if bridge mode has been selected.

      Issues: CONT-1580, CONT-1581

  • Tungsten Connector

    • The connector has been updated to provide an acknowledgement to the MySQL protocol COM_CHANGE_USER command. This allows client connections that use connection pooling (such as PHP) and the change user command as a verification of an open connection to correctly received an acknowledgement that the connection is available.

      The option is disabled by default. To enable, set the treat.com.change.user.as.ping property to true during configuration with tpm.

      Issues: CONT-1380

      For more information, see Section 6.6.6, “Connector Change User as Ping”.

  • Tungsten Manager

    • All the core tools now generate a detailed heap dump in the event of a failure. This will help during debugging and identifying any issues.

      Issues: CT-11

Bug Fixes

  • Installation and Deployment

    • When validating the existence of MyISAM tables within a MySQL database, tpm would use an incorrect method for identifying MyISAM tables. This could lead to MyISAM tables not being located, or legitimate system-related MyISAM tables triggering the alert.

      Issues: CONT-938

    • The Nagios tungsten_nagios_online command would report nodes in the standby role that were in the OFFLINE would indicate that the node was in a warning state.

      Issues: CONT-1487

    • The Zabbix related monitoring tools, zabbix_tungsten_services, zabbix_tungsten_progress, zabbix_tungsten_online, and zabbix_tungsten_latency were not marked as executable.

      Issues: CONT-1493

    • The tpm update would fail if the installation directory had been specified with a trailing slash.

      Issues: CONT-1499

    • If the cluster is put into maintenance mode, but the coordinator node, or the terminal session that put the cluster into maintenance mode fails, the cluster would stay in maintenance mode. The node is now tracked, and if the node goes away for any reason, the cluster will be returned to the mode it was in before being placed into maintenance node.

      Issues: CONT-1535

    • Running tpm connector while multi_trepctl is running on the same host would fail with the error:

      ERROR >> db2 >> There is already another Tungsten installation script running

      Issues: CONT-1572

  • Core Replicator

    • Binary data contained within an SQL variable and inserted into a table would not be converted correctly during replication.

      Issues: CONT-1412

  • Tungsten Connector

    • The connector would not retry and/or reconnect transactions that were automatically redirected to a slave. This has been corrected so that all slave-targeted requests are retried or reconnected and retried in the event of an error.

      Issues: CT-22

    • Automatic retry of query could fail due to interference of keep alive request while re-executing the query.

      Issues: CONT-1512

    • The Tungsten Connector would sometimes retry connectivity on connections that had been killed. The logic has been updated. The default behavior remains the same:

      • Reconnect closed connections

      • Retry autocommitted reads

      The behavior can be modified by using the --connector-autoreconnect-killed-connections. Setting to false disables the reconnection or retry of a connection outside of a planned switch or automatic failover. The default is true, reconnecting and retrying all connections.

      Issues: CONT-1514

  • Tungsten Manager

    • When deployed within a composite service, a race condition within the manager could cause the master replicator to start up in a shunned state.

      Issues: CT-2

    • The show slave status command when used through a Tungsten Connector connection could fail with the error Data truncation: BIGINT UNSIGNED value is out of range.

      Issues: CT-85

    • An entity called POLICY_MANAGER would appear in the output of ls resources. This could cause problems with monitoring tools which parsed the output. The check script has now been updated to ignore the resource in the output.

      Issues: CT-90

    • In the event of a mysqld restart, the cluster could recover into a state with multiple masters.

      Issues: CONT-1482

    • Recovering a standby node would switch the role of the node once recovered to be a slave, instead of remaining as a standby.

      Issues: CONT-1486

    • The embedded Drools libraries have been updated to Drools 6.3. This addresses an issue in Drools which could lead to a memory leak.

      Issues: CONT-1547

    • The generated mysql_read_only script would use password on the command line, and could execute a query that returned multiple rows. Both issues could cause issues during executation, particularly for MySQL 5.6 and later.

      Issues: CONT-1570

Tungsten Clustering 5.0.1 Includes the following changes made in Tungsten Replicator 5.0.1

Tungsten Clustering 5.0.1 is a bugfix release that contains critical fixes and improvements from the Tungsten Clustering 5.0.0 release. Specifically, it changes the default security and other settings to make upgrades from previous releases easier, and other fixes and improvements to the Oracle support and command-line tools.

Behavior Changes

The following changes have been made to Continuent Replicator and may affect existing scripts and integration tools. Any scripts or environment which make use of these tools should check and update for the new configuration:

  • The Ruby Net::SSH module, which has been bundled with Tungsten Clustering in past releases, is no longer included. This is due to the wide range of Ruby versions and deployment environments that we support, and differences in the Net::SSH module supported and used with different Ruby versions. In order to simplify the process and ensure that the platforms we support operate correctly, the Net::SSH module has been removed and will now need to be installed before deployment.

    To ensure you have the correct environment before deployment, ensure both the Net::SSH and Net::SCP Ruby modules are installed using gem:

    shell> gem install net-ssh
    shell> gem install net-scp

    Depending on your environment, you may also need to install the io-console module:

    shell> gem install io-console

    If during installation you get an error similar to this:

    mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

    It indicates that you do not have the Ruby development headers installed. Use your native package management interface (for example yum or apt and install the ruby-dev package. For example:

    shell> sudo apt install ruby-dev

    Issues: CT-88

  • The replicator is no longer restarted when updating the configuration with tpm when using the --replace-tls-certificate option.

    Issues: CT-120

  • For compatibility with MySQL 5.7, the tpm command will now check for the super_read_only setting and warn if this setting is enabled.

    Issues: CONT-1039

  • For compatibility with MySQL 5.7, the tpm command will use the authentication_string field for validating passwords.

    Issues: CONT-1058

  • For compatibility with MySQL 5.7, the tpm command will now ignore the sys schema.

    Issues: CONT-1059

Improvements, new features and functionality

  • Installation and Deployment

    • Tungsten Clustering is now certified for deployment on systems running Java 8.

      Issues: CT-27

  • Core Replicator

    • The replicator will now generate a detailed heap dump in the event of a failure. This will help during debugging and identifying any issues.

      Issues: CT-11

  • Filters

    • The Rhino JS, which is incorporated for use by the filtering and batch loading mechanisms, has been updated to Rhino 1.7R4. This addresses a number of different issues with the embedded library, including a performance issue that could lead to increased latency during filter operations.

      Issues: CT-21

Bug Fixes

  • Installation and Deployment

    • The Ruby Net::SSH libraries used by tpm have been updated to the latest version. This addresses issues with SSH and staging based deployments, including KEX algorithm errors.

      Issues: CT-16

    • On some platforms the keytool command could fail to be found, causing an error within the installation when generating certificates.

      Issues: CT-73

  • Command-line Tools

    • The tpasswd could create a log file with the wrong permissions.

      Issues: CT-117

  • Core Replicator

    • Checksums in MySQL could cause problems when parsing the MySQL binary log due to a change in the way the checksum information is recorded within the binary log. This would cause the replicator to become unable to come online.

      Issues: CT-72