Skip to main content
Tungsten Clustering

Tungsten Clustering 7.1.0

Build: 182
Release Date: 16 Aug 2023
End of Life Date: 7 Jul 2026
Release 7.1.0 is the next major v7 release containing a number of important bug fixes and key new features.
Warning
Due to JGroup libraries being updated in this release, managers running releases older than 7.1.0 will not communicate with managers running 7.1.0+ therefore when upgrading to this release, all nodes must be upgraded before proper cluster communication will be restored. Ensure the cluster is in MAINTENANCE before beginning the upgrade and do NOT SHUN nodes whilst a mix of manager versions are running.

Behavior Changes (4)

The following changes 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:

Command-line Tools (3)

  • The tpm copy-keys command has been renamed to tpm copy and a new command has been createdtpm cert copy with the same functionality.
    Issue: CT-2186
  • cctrl now accepts services names with capital letters, dots and hyphens
    Issue: CT-2163
  • No longer using connector graceful-stop together with systemd for upgrades. The underlying change of binary confuses systemd scripts.
    Issue: CT-2113

Backup and Restore (1)

  • When performing a provision via rsync, tprovision will now sleep for 2 seconds after locking tables to make sure all transactions have finished writing to disk.
    Issue: CT-2169

Improvements, new features and functionality (23)

Behavior Changes (1)

  • Additional logging will now be added to the replicator logs during switchover/failover operations to enable better debugging in the event of issues.
    Issue: CT-1448

Installation and Deployment (2)

  • Added tpm flag deploy-systemd as a more meaningful alias to install
    Issue: CT-2152
  • Running tpm uninstall will now save all of the Tungsten database tracking schemas for later use. There is also a new tpm keep command, which allows the tracking schemas to be saved to disk at any time in multiple formats (.json, .dmp and .cmd)
    Issue: CT-2131

Command-line Tools (7)

  • The tpm diag command now captures the output of cctrl cluster topology validate
    Issue: CT-2155
  • The tungsten_send_diag command has a new argument --all which will tell thetpm diag command to gather all hosts with -a, and this replaces the previous method for gathering all hosts for tungsten_send_diag, --args '--all'
    Issue: CT-2150
  • The tpm diag command now supports the --skipsudo and --nosudoarguments to prevent operations from using the sudo command. Using this option may result in tpm diagskipping/failing various gathers due to a lack of access.
    Issue: CT-2146
  • tungsten show processlist could error with a disconnection message listing connections disconnected on the mysql server side.
    Issue: CT-2112
  • The tpm report command now displays the security-specific information for each channel shown, including file paths and tpm options. Security information and tpm options for each channel will also be shown when --extra is used with --list.

    Also added the tpm ask certs command with expiry and sha2566 info per alias, along with thetpm ask certtpm and tpm ask certlocations commands with reference information about the security.properties file.

    Added help text for tpm ask --long which shows the key/variable name along with the value. The tmonitor -t test command now shows only the actual Tungsten-specific metrics lines.

    Added tmonitor -T test to show metrics help and headers along with actual tungsten_* metrics lines

    Issue: CT-2088
  • A new command tpm cert has been added to aid in the creation, rotation and management of certificates for all areas of Tungsten.

    Known limitations: Percona 5.6, and all versions of MariaDB do not provide the mysql_ssl_rsa_setup command required bytpm cert gen mysqlcerts.

    Issue: CT-2085
  • Added a new option --preserve-schema to the tpm uninstall command in order to leave the tracking schema in the database.
    Issue: CT-561

Backup and Restore (4)

  • The tprovision script will sleep for 5 seconds by default when using the rsync method after issuing a flush logs. The sleep value is configurable as a command line option --flush-after-sleep.
    Issue: CT-2101
  • tprovision will now add a heartbeat after restore. This will ensure the replicator can be put back online when there is no load on the cluster.
    Issue: CT-2005
  • tungsten_get_mysql_datadir can now return additional mysql database directories.
    Issue: CT-1985
  • MySQL clone can now be used as an option for recovery using tprovision.
    Issue: CT-1417

Filters (1)

  • A new shardbyrules filter has been added that will allow rule-based sharding of replication based on user configurable rules that would allow sharding at table level, whereas previously sharding would only be handled at schema level.
    Issue: CT-2164

Connector (2)

  • Added a flag to avoid generating and sending EOF packets to client applications when CLIENT_DEPRECATE_EOF is not set on both client and mysql server sides. This fixes an issue with Go-MySQL-Driver and prepared statements.

    When using Go MySQL Driver, flag connector-generate-eof=false should be specified. Default is set to true for backwards compatibility.

    Issue: CT-2177
  • Tungsten Connector now supports dual passwords, mirroring the MySQL v8.0.14+ functionality. When changing a user password, the previous password can be retained as long as needed in order to allow changing account passwords with no downtime.
    Issue: CT-2127

Core Clustering (2)

  • There is a new datasource-group-id TPM option. In a single cluster the nodes with the same datasource-group-id will form a Distributed Datasource Group (DDG).
    Issue: CT-2051
  • Upgraded JGroups library to 4.2.22
    Issue: CT-2011

Monitoring (4)

  • The ability to configure the Java Virtual Machine (JVM) settings for the manager has been made easier, by the use of the manager_java_settings.conf file. For more information see "Adjusting JVM Settings for the Manager"
    Issue: CT-2167
  • Prometheus libraries have been upgraded from version 0.8.1 to 0.16.0
    Issue: CT-2166
  • Added Prometheus exporter metrics for composite parent and sub-services
    Issue: CT-2121
  • Prometheus exporters now provide the ssl cert expiration date as an epoch value in addition to the label.
    Issue: CT-2099

Bug Fixes (19)

Installation and Deployment (1)

Command-line Tools (5)

  • The tpm command now searches more places to locate shell commands that are called, especially useful when $CONTINUENT_ROOT/share/env.sh is not sourced.
    Issue: CT-2182
  • The cctrl cluster topology validate command now checks, in a CAA setup, if the relay in the subservice is on the same host as the primary, and reports if there is a mismatch
    Issue: CT-2114
  • The tungsten_find_orphaned command now handles some edge cases more gracefully.
    Issue: CT-2107
  • tpm uninstall would sometimes print "ERROR >> db1 >> undefined method '+' for nil:NilClass"
    Issue: CT-2104
  • The tpm command now handles situations when the Manager process is not running.
    Issue: CT-2103

Backup and Restore (5)

  • Using mysqldump for tprovision could incorrectly create a new SSL key pair/
    Issue: CT-2142
  • tprovision will now timeout if ssh is blocked from the target to the source host.
    Issue: CT-2139
  • tprovision would accept bogus options and not produce an error. This has now been fixed.
    Issue: CT-2045
  • tprovision will now print an error message and exit if the MySQL datadir does not exist.
    Issue: CT-1901
  • tprovision would produce errors if the local hostname were different from the hostname used in the Tungsten install (short vs long names).
    Issue: CT-1363

Core Replicator (2)

  • Fixed an issue while processing geometry data with SRID 4326 that would swap longitude and latitude. This applies only to MySQL 8, as prior MySQL versions do not allow specifying the order when applying a WKB (Well-known binary) to MySQL.
    Issue: CT-2172
  • Improved a query that is run by Tungsten when fetching tables metadata (column names, datatypes, etc). While it is not generally needed, the unoptimized query can run badly (especially) against old mysql versions with a lot of databases / tables. For now, the new optimized query is not used by default, but this could change in some future version.

    This can be enabled by using the following property :

    property=replicator.datasource.global.connectionSpec.usingOptimizedMetadataQuery=true
    Issue: CT-2077

Connector (4)

  • Fixed an issue where a failover could hang in rare cases when security and Proxy mode are enabled. SSL connections to a failed data source could enter a deadlock and block failover for up to 15 minutes.
    Note
    This issue only affects users running Java 11, and is related to [https://bugs.openjdk.org/browse/JDK-8241239](https://bugs.openjdk.org/browse/JDK-8241239)
    Issues: CT-2183, CT-2187
  • Fixed an issue with topology validation when running tpm promote-connector on a witness host
    Issue: CT-2161
  • Fixed a log4j configuration issue where the connector-audit.log andconnector-api.log files that have been rotated will end up incluster-home/bin/directory instead of tungsten-connector/log/.
    Issue: CT-2137
  • Fixed NullPointerExceptions when reading packets from disconnected client connections.
    Issue: CT-2132

Core Clustering (1)

  • In a Composite Active/Active topology, issuing SHUN/DRAIN or WELCOME on a node in cctrl would only affect the node in the main cluster service. This action will now also be applied to the same node within the x_from_y sub-service.
    Issue: CT-2145

Manager (1)

  • A set of changes to improve cctrl responsiveness
    • cctrl now properly lists responsive connectors even if some fail to return their status in a timely fashion (for example with slow networks)
    • Under the above condition, cctrl will return in 5-6 seconds rather than in up to 30 seconds when there is network congestion/partition.
    • Under normal conditions, cctrl responds significantly more quickly - up to 3x faster - due to optimized communications between cctrl and remote connectors.
    • cctrl commands are no longer slowed down/blocked by internal ping traffic to connectors.
    • Fixed an issue where individual connectors cannot be addressed in 'router' commands.
    Issue: CT-1795