Continuent is pleased to announce that the following new software releases are now available:
- Tungsten Clustering version 5.4.0
- Tungsten Replicator version 5.4.0
Releases 5.4.0 is significant in that it introduces MySQL 8 support, along with many new features, stability improvements and bug fixes.
Highlights common to both products:
Improvements, new features and functionality
- Two new utility scripts have been added to the release to help with setting the Replicator position:
- tungsten_find_position, which assists with locating information in the THL based on the provided MySQL binary log event position and outputs a
dsctl set
command as output. - tungsten_find_seqno, which assists with locating information in the THL based on the provided sequence number and outputs a
dsctl set
command as output.
- tungsten_find_position, which assists with locating information in the THL based on the provided MySQL binary log event position and outputs a
- A new, beta-quality command has been included called prov-sl.sh which is intended to eventually replace the current
tungsten_provision_slave
script.
Currently,prov-sl.sh
supports provisioning slaves usingmysqldump
andxtrabackup
tools, and is MySQL 8-compatible. Theprov-sl.sh
command is written in Bash, has less dependencies compared to the current script and is meant to fix a number of issues with the current version. Backups are streamed from source to target so that an intermediate write to disk is not performed, resulting in faster provisioning times. - Upgraded the Drizzle driver to support MySQL 8 authentication protocols (SHA256, caching_sha2)
- The replicator has been updated to support the new character sets supported by MySQL 5.7 and MySQL 8.0, including the UTF-8-mb4 series.
Bug Fixes and Behavior Changes
- The
tpm
command now properly handles network interface names containing colons and/or dots. - The
tpm diag --hosts={hostlist}
command has been fixed. In a Staging-method install, using this option limits thetpm diag
command to the specified hosts. In an INI-based install,tpm diag
by itself gets diags for the local node only, and specifying the option--hosts={hostlist}
will attempt to obtain diags from the named hosts only. - When using
tpm
with the INI method, the command would search multiple locations for suitable INI files. This could lead to multiple definitions of the same service, which could in turn lead to duplication of the installation process and occasional failures. If multiple INI files are found, a warning is now produced to highlight the potential for failures. - When executing
mysqldump
, all Tungsten tools no longer use the --add-drop-database flag as it will prevent MySQL 8+ from restoring the dump. - Now properly extracting the Geometry datatype.
- Added support for missing charset GB18030.
Highlights in the Clustering product:
Behavior Changes
The following changes have been made to Continuent Tungsten 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 Connector passThroughMode configuration option is now deprecated, and will be removed from tungsten-connector/conf/connector.properties. There is currently no
tpm
option for this, and it is undocumented. The default will be kept topassThroughMode=true
.
Improvements, new features and functionality
- A new utility script has been added to the release, tungsten_post_process, which assists with the graceful maintenance of the static cross-site replicator configuration files on disk.
- A new utility script has been added to the release, tungsten_reset_manager</strong >, which assists with the graceful reset of the manager's dynamic state files on disk.
- The Tungsten Stack now supports the new MySQL 8.0 authentication plugins. Both sha256_password and caching_sha2_password (the new default) are supported by the Replicator, Manager and Connector.
- The Drizzle driver has been updated to support these new authentication methods, and the MySQL Connector/J 8 is also supported.
- In order to be fully transparent with the new defaults, when connected to a MySQL 8+ data source, the Connector will advertise caching_sha2_password as the default plugin.
With earlier versions of MySQL (pre-8.0), the previous default mysql_native_password is used by default and advertised to the client applications. - There is a new Connector property option for
tpm
: property=statement.display.size.in.kb=NNN, which allows for increased verbosity when Connector logging is set to debug or trace. - Removed spurious warnings during composite switch or failover.
Bug Fixes
- The Connector will now wait indefinitely for a Master to become available before finishing startup.
- Fixing the rpm-based post-install chown command so that symlinked directories get correct ownership.
- The Tungsten Clustering RPM now preserves the original OS group memberships for the tungsten user.
- Long service names within cctrl could cause output to fail when displaying information. The underlying issue has been fixed. Because long service names can cause formatting issues, a new option,
--cctrl-column-width
has been added which can be used to configure the minimum column width used to display information. - MySQL ping commands are now reconnected/retried upon "server gone away" error (Proxy mode ONLY).
- Fixed an edge case where the master node and the coordinator node are the same, then the node was rebooted. The failover would not complete and throw an error.
Highlights for the Replicator product only:
- The
trepctl
command now properly handles the-all-services
option for thereset
sub-command. - The Redshift Applier now allows AWS authentication using IAM Roles. Previously authentication was possible via Access and Secret Key pairs only.
- Loading data into Redshift would fail with an error if a row of data contained a specific control character (0x00 (NULL))
- The ddl_map.json file used by the apply_schema_changes filter was missing a rule to handle ALTER TABLE statements when replicating between MySQL and Redshift
- The extract_schema_change filter wasn't escaping " (double-quotes) and the generated JSON would then cause the applier to error out.
Comments
Add new comment