Tungsten Clustering 7.1.0
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-keyscommand has been renamed totpm copyand a new command has been createdtpm cert copywith the same functionality.Issue: CT-2186 cctrlnow accepts services names with capital letters, dots and hyphensIssue: CT-2163- No longer using
connector graceful-stoptogether withsystemdfor upgrades. The underlying change of binary confuses systemd scripts.Issue: CT-2113
Backup and Restore (1)
- When performing a provision via
rsync,tprovisionwill 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-systemdas a more meaningful alias toinstallIssue: CT-2152 - Running
tpm uninstallwill now save all of the Tungsten database tracking schemas for later use. There is also a newtpm keepcommand, 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)
- Issue: CT-2155
- The
tungsten_send_diagcommand has a new argument--allwhich will tell thetpm diagcommand to gather all hosts with-a, and this replaces the previous method for gathering all hosts fortungsten_send_diag,--args '--all'Issue: CT-2150 - The
tpm diagcommand now supports the--skipsudoand--nosudoarguments to prevent operations from using the sudo command. Using this option may result intpm diagskipping/failing various gathers due to a lack of access.Issue: CT-2146 tungsten show processlistcould error with a disconnection message listing connections disconnected on the mysql server side.Issue: CT-2112The
tpm reportcommand 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--extrais used with--list.Also added the
tpm ask certscommand with expiry and sha2566 info per alias, along with thetpm ask certtpmandtpm ask certlocationscommands with reference information about thesecurity.propertiesfile.Added help text for
tpm ask --longwhich shows the key/variable name along with the value. Thetmonitor -t testcommand now shows only the actual Tungsten-specific metrics lines.Added
tmonitor -T testto show metrics help and headers along with actual tungsten_* metrics linesIssue: CT-2088A new command
tpm certhas 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_setupcommand required bytpm cert gen mysqlcerts.Issue: CT-2085- Added a new option
--preserve-schemato thetpm uninstallcommand in order to leave the tracking schema in the database.Issue: CT-561
Backup and Restore (4)
- The
tprovisionscript will sleep for 5 seconds by default when using thersyncmethod after issuing a flush logs. The sleep value is configurable as a command line option--flush-after-sleep.Issue: CT-2101 tprovisionwill 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-2005tungsten_get_mysql_datadircan 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_EOFis 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=falseshould 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-idTPM option. In a single cluster the nodes with the samedatasource-group-idwill form a Distributed Datasource Group (DDG).Issue: CT-2051 - Upgraded JGroups library to 4.2.22Issue: 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.conffile. 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.0Issue: CT-2166
- Added Prometheus exporter metrics for composite parent and sub-servicesIssue: 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)
- Fixed RPM package script to run
tpm installinstead oftpm updatewhen installing the rpmIssue: CT-2130
Command-line Tools (5)
- The
tpmcommand now searches more places to locate shell commands that are called, especially useful when$CONTINUENT_ROOT/share/env.shis not sourced.Issue: CT-2182 - The cctrl
cluster topology validatecommand 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 mismatchIssue: CT-2114 - The
tungsten_find_orphanedcommand now handles some edge cases more gracefully.Issue: CT-2107 tpm uninstallwould sometimes print"ERROR >> db1 >> undefined method '+' for nil:NilClass"Issue: CT-2104- The
tpmcommand now handles situations when the Manager process is not running.Issue: CT-2103
Backup and Restore (5)
- Using
mysqldumpfortprovisioncould incorrectly create a new SSL key pair/Issue: CT-2142 tprovisionwill now timeout if ssh is blocked from the target to the source host.Issue: CT-2139tprovisionwould accept bogus options and not produce an error. This has now been fixed.Issue: CT-2045tprovisionwill now print an error message and exit if the MySQL datadir does not exist.Issue: CT-1901tprovisionwould 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=trueIssue: 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.NoteThis 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-connectoron a witness hostIssue: CT-2161 - Fixed a log4j configuration issue where the
connector-audit.logandconnector-api.logfiles that have been rotated will end up incluster-home/bin/directoryinstead oftungsten-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
cctrlresponsivenesscctrlnow 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,
cctrlwill return in 5-6 seconds rather than in up to 30 seconds when there is network congestion/partition. - Under normal conditions,
cctrlresponds significantly more quickly - up to 3x faster - due to optimized communications betweencctrland remote connectors. cctrlcommands 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