1.1. Tungsten Clustering 6.1.14 GA (17 Aug 2021)

Version End of Life. Not Yet Set

Release 6.1.14 contains a numebr of bug fixes and improvements in the connection, and with the handling of systemd integration, additionally XA transaction support is now available.

Improvements, new features and functionality

  • Command-line Tools

    • Tungsten Connector upgrades are now performed with minimal downtime thanks to graceful-shutdown which is now also used when systemd services are installed.

      systemd definition file has been updated to prevent unwanted systemd-driven control of Tungsten components. 2 new settings have been added to definition files:

      • RemainAfterExit=yes so that systemd won't interfere when the binary is restarted after upgrade

      • GuessMainPID=no so that the PID can change without confusion inside systemd status

      Note that Tungsten has its own service manager (Tanuki service wrapper), systemd is only used for system startup launch of Tungsten components.

      Note

      After upgrade, the systemd status output might show "Active: active (exited)". This is expected since systemd doesn't know the new process to monitor after upgrade

      Issues: CT-1538

    • Added tpm (in [Tungsten Clustering (for MySQL) 6.1 Manual]) support for tuning maxDelayInterval, used to tune parallel apply. Usage example:

      property=replicator.store.parallel-queue.maxDelayInterval=120

      This sets the max delay interval to 2 minutes

      Issues: CT-1541

    • A new command-line tool tungsten_show_processlist has been added. This is a read-only script which will show the output from tungsten show processlist; on all available Connectors.

      Issues: CT-1542

    • 3 new tpm flags have been added:

      • svc-systemd-config-connector

      • svc-systemd-config-replicator

      • svc-systemd-config-manager

      These flags can be used to provide a custom systemd configuration that will be used in place of the default, generated one.

      This is typically useful when ExecStartPre or ExecStartPost commands are needed

      Issues: CT-1555

    • Improved the tpm (in [Tungsten Clustering (for MySQL) 6.1 Manual]) command's internal logic and introduced a new sub-command, tpm ask (in [Tungsten Clustering (for MySQL) 6.1 Manual]).

      Issues: CT-1573

    • Improved the check_tungsten_online (in [Tungsten Clustering (for MySQL) 6.1 Manual]) command:

      • determine the cluster name by default if none is provided via -s

      • always check ls resources even if a dataservice name is provided

      • add an option to be node-specific, ignoring any status from other nodes

      Issues: CT-1578

    • New ddlscan template (ddl-mysql-staging.vm) available to generate ddl required for staging tables when deploying the batch applier on a MySQL target.

      Issues: CT-1587

  • Backup and Restore

    • A new tpm (in [Tungsten Clustering (for MySQL) 6.1 Manual]) option has been added --backup-options

      This property can be used to pass options directly to the backup binary (Xtrabackup, mariabackup etc). This can be especially useful when the xtrabackup and MySQL versions differ. Generally, MySQL is always ahead of xtrabackup and in some situations xtrabackup will fail if the underlying MySQL patch release does not match the xtrabackup patch release. In this scenario, you could utilise the new option to force xtrabackup to not check the versions, for example:

      backup-options=--no-server-version-check

      Multiple options can be passed as a space separated list, for example.

      backup-options=--option1 --option2 --option3

      Note

      Options passed are specific to the underlying binary and are not validated by Tungsten, therefore you must ensure you only use options that are valid, and check syntax accurately.

      Issues: CT-1595

  • Core Replicator

    • Support for XA transactions has been added.

      Issues: CT-925

  • Tungsten Manager

    • A new tpm (in [Tungsten Clustering (for MySQL) 6.1 Manual]) option has been added replica-tx-commit-level

      Valid values of either 1 (default) or 2. Setting this value to 2 will change the underlying database property innodb_flush_log_at_trx_commit when the node becomes a replica, resetting it back to 1 if the node is promoted to a primary.

      This can improve performance on the apply rates for replicas.

      Issues: CT-1241

Bug Fixes

  • Command-line Tools

    • tpm (in [Tungsten Clustering (for MySQL) 6.1 Manual]) was failing to check application password when single quoted.

      Issues: CT-1257

    • The --host argument to tpm connector (in [Tungsten Clustering (for MySQL) 6.1 Manual]) now works properly. Support for the legacy --hosts is also included.

      Only one hostname may be specified to tpm connector (in [Tungsten Clustering (for MySQL) 6.1 Manual]).

      Issues: CT-1543

    • The tpm update (in [Tungsten Clustering (for MySQL) 6.1 Manual]) command now properly parses the --ini argument.

      Issues: CT-1551

    • The tungsten_generate_haproxy_for_api and tpm generate-haproxy-for-api command now properly skips sub-services in Composite Active/Active clusters.

      Issues: CT-1552

    • The tpm connector --samples (in [Tungsten Clustering (for MySQL) 6.1 Manual]) command no longer displays the password in any example.

      Issues: CT-1593

    • The tpm connector (in [Tungsten Clustering (for MySQL) 6.1 Manual]) command now works when the application user's password contains double quotes.

      Issues: CT-1596

    • The check_tungsten_services -r (in [Tungsten Clustering (for MySQL) 6.1 Manual]) command no longer takes an extended time to complete when the manager is not running.

      Issues: CT-1599

  • Tungsten Connector

    • By default, the connector will no longer transparently reconnect underlying connections to database servers when the data service changes.

      This will prevent the following case: in Composite Active/Active topologies, a given connection starts to write data to a site. The site fails, connection gets reconnected the other site and resumes writing. However the data written to the 1st site has not reached the 2nd site, thus data will not be consistent.

      Default is to reject reconnections that follow a write operation (RW_STRICT connection or SmartScale after a write) and to allow reconnection after a read operation (RO_RELAXED or SmartScale after a read)

      It is still possible to get the previous behavior (reconnecting transparently connections cross-site) by specifying both --connector-allow-cross-site-reconnectsForWrites=true and --connector-allow-cross-site-reconnectsForWrites=true, at your own risk

      Issues: CT-1265

    • With smartscale enabled, when no writes have been issued to the connection, the user session will remain uninitialized. In that situation, we now send reads to replicas.

      Issues: CT-1560

    • When an RO_RELAXED connection is requested and no replica is available to serve the request, we will now properly reuse the current connection to the primary for executing the request.

      Issues: CT-1564