Tungsten Clustering 8.0.0
Release 8.0.0 is the first major v8 release and contains a wide range of bug fixes, and improvements.
Additionally, this release marks the first release that will be required for Tungsten Operator and the subsequent deployment of Tungsten Clustering within a Kubernetes environment.
Build 8.0.0-305 was initially released on 28 Apr 2025, and re-released as 8.0.0-308 on 12 Sept 2025
- Composite Active/Active topology, AND
- Your hostnames contain a dash symbol (-) and/or a mix of UPPER and lower case characters.
Deprecation Notices (1)
The following features/tools have been deprecated from this release and will be removed in future releases. Any self written scripts that utilise these features should be updated.
Command-line Tools (1)
tungsten_health_checkandtungsten_provision_thlhave been deprecated and will be removed in a future release.Issue: CT-2509
Behavior Changes (17)
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:
Installation and Deployment (4)
- Upgraded the JGroup communication library to the v4.2.30Issue: CT-2435
- The
rest-api-admin-userandrest-api-admin-passwordTPM properties are now required during a default installation or when explicitly setting the variousmanager-rest-api=true,connector-rest-api=true,replicator-rest-api=trueorrest-apis=trueproperties.Issue: CT-2409 - Added a TPM check for MySQL 8+ to error out if the application user has
CONNECTION_ADMINprivilege.Issue: CT-2325 - All Tungsten Components now use log4j version 2.Issues: CT-1410, CT-1412
Command-line Tools (9)
- The
tpm cert infocommand now provides better error messages when a specifiedtypeSpecfile does not exist.Issue: CT-2530 The
tpm askcommand now returns the appropriate values for keys:stagingdir,stagingpath,staginghostandstaginguser.Additionally, the
tpm ask stagingcommand will return a JSON structure with all values. All values are the same as the output of thetpm query-stagingcommand, just presented differently for easier machine usage.Issue: CT-2510- A new cli argument has been added (
--apiver 8) to allow thetapicommand to use APIv8. By default,tapiwill continue to use APIv2 against v8 installations, using the--apiver 8option is experimental and should be used with care. Full APIv8 functionality will be included intapiin a future release.Issue: CT-2456 - The
tpmcommand now allows hyphens in dataservice names.Issue: CT-2453 - Removed
sigtrapmodule dependency fromtungsten_find_orphaned.Issue: CT-2451 - The
tungsten_send_diagcommand has been updated with new security keys and the ability to accept security keys on the CLI.Issue: CT-2438 - New shortcut options are availabe with
tprovision--primaryand--create-primaryas an additional alias for-c-C,--mysqlcloneas aliases for-m mysqlclone-D,--mysqldumpas aliases for-m mysqldump-R,--rsyncas aliases for-m rsync-X,--xtrabackupas aliases for-m xtrabackup
Issue: CT-2311 - When provisioning a replica using
mysqldump, the database will be set to offline mode until loading is complete to prevent accidental writes during the load.Issue: CT-2305 - Additional validation has been added to
tprovisionwhen parallel apply is in use.Issue: CT-2275
Connector (1)
- Connector now always reads its dynamic (auto-detect) configuration from primary node by default. Reading from a replica is still possible using the
property=readAutodetectConfigFromPrimary=falsetpmflag.Issue: CT-2527
Security (1)
- As of version 7.2.0 onwards, when providing custom keystores, the alias of the mysql certificate must be provided as
java-mysql-alias=xxxand must have the same name in bothtungsten_keystoreandtungsten_connector_keystore.Issue: CT-2598
Core Clustering (2)
- Added protection against misconfigured applications or loadbalancers connecting repeatably to the Manager<>Connector port (11999). Such uncontrolled traffic would affect manager performance over timeIssue: CT-2411
Manager and Replicator now get higher CPU priority (-9 nice value) through
systemdconfiguration file. When not usingsystemd, we advised to use thesudo renice <pid>command to avoid monitoring and processing pauses during high CPU usage periods.Note that this command has to be run as a privileged user, which is why the command cannot be part of the regular manager and replicator scripts
Issue: CT-2330
Known Issue (3)
The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.
Connector (1)
Connector bridge fails to route connections to data source ports other than 13306.
This is fixed in v8.0.1 and it is advised to NOT use v8.0.0 if your MySQL port is configured to anything other than 13306.
Issue: CT-2609
Core Clustering (1)
- If your hostname contains a dash symbol (-) and/or a mix of UPPER and lower case characters, AND you are running a Composite Active/Active topology, then upgrading to or installing this release may cause a misconfiguration of the replication services.Issue: CT-2632
Security (1)
tungsten_mysql_ssl_setupincorrectly generates self-signed CA certificates on RHEL9 Linux flavors.This will be fixed in v7.2.0 and v8.0.1
Issue: CT-2581
Improvements, new features and functionality (25)
Installation and Deployment (1)
- Introduced a new set of
tpmgroup aliases to control the rest api configuration when the same value needs applying to multiple properties, as follows:rest-apiswill setconnector-rest-api,manager-rest-apiandreplicator-rest-apirest-api-addresswill setconnector-rest-api-address,manager-rest-api-addressandreplicator-rest-api-addressrest-api-authenticationwill setconnector-rest-api-authentication,manager-rest-api-authenticationandreplicator-rest-api-authenticationrest-api-sslwill setconnector-rest-api-ssl,manager-rest-api-sslandreplicator-rest-api-ssl
/etc/tungsten/tungsten.inimay look like the following:BEFOREAFTER[defaults]...connector-rest-api=truemanager-rest-api=truereplicator-rest-api=trueconnector-rest-api-adddress=0.0.0.0manager-rest-api-adddress=0.0.0.0replicator-rest-api-adddress=0.0.0.0connector-rest-api-authentication=truemanager-rest-api-authentication=truereplicator-rest-api-authentication=trueconnector-rest-api-ssl=truemanager-rest-api-ssl=truereplicator-rest-api-ssl=true...[defaults]...rest-apis=truerest-api-adddress=0.0.0.0rest-api-authentication=truerest-api-ssl=true...Issue: CT-2459
Command-line Tools (12)
- The
tpm askcommand will now convert values0andfalsetoNoand values1andtruetoYesas human output when given--humanor-ncli args.Issue: CT-2559 - The
tpm inicommand now handles all new tpm options.Issue: CT-2543 - Issue: CT-2500
- Issue: CT-2499
- Issue: CT-2492
- A new
-zoption has been added totprovisionwhich will enable compression when using thersyncmethod.Issue: CT-2489 - The
tpm certcommand will now handle public key files. The commandtpm cert gen publicwill create$CONTINUENT_HOME/generated/tungsten_public.jksfrom the$CONTINUENT_HOME/share/tungsten_keystore.jksfile and thetpm cert list publiccommand will show the contents, etc.Issue: CT-2434 The
tpm askcommand now supports the-s|--serviceoption fordsrole,dsstate,trroleandtrstatekeys.The option alias for
--shortis now-S(capitalized), was previously lower-case.Example:
tpm ask dsrole --service alphaIssue: CT-2400- The new
tpm inicommand allows for easy creation, checking and administration of the/etc/tungsten/tungsten.iniconfiguration file.Issue: CT-2366 - When using the
-m rsyncoption withtprovision, thersynccommand now includes theoStrictHostKeyChecking=nooptions.Issue: CT-2348 - The
tapicommand is now able to provision a Connector database target (both MySQL Server and PostgreSQL) using a JSON payload or command-line arguments. For more information see Command-Line ToolsIssue: CT-2306 The
tpm post-processcommand has a new argument--statemapwhich processesproperty=statemap.*entries in the INI defaults section (only) to update the matching entries in thecluster-home/conf/statemap.properties.defaultsfile.Once done,
tpm post-process --statemapwill exit without invoking the old functionality.Issue: CT-1906
Core Replicator (4)
- The
trepctl perfoutput has been improved when parallel apply is enabled to show granular statistics per channel.Issue: CT-2517 A new
thl applycommand is available which provides the ability to pull/push a range of transactions from source THL to a destination. The command can apply the THL either directly into the destination database (MySQL or PostgreSQL) or it can simply write the THL to the filesystem.The destination does not need to be running Tungsten Replicator services for this to be used and provides a way of applying data outside of normal Tungsten operations and can be used to extend backup/recovery operations in some scenarios.
See "The THL apply Command" for more information.
Issue: CT-2347- A new
applyingfield has been added to the output oftrepctl reset.In the above example, the applier is processing seqno 3 / fragno 0 and already applied 92.86% (this represents a percentage of rows and statements that were already applied). When parallel apply in enabled, there will be one applying field per channel configured, for example the following shows 2 channels:...applying : 3 / 0 (92.86%)......applying.0 :applying.1 : 25 / 0 (92.86%)...Issue: CT-2315 - Replicator now recognizes the new MySQL 8.4
show binary log statussyntax (as well asshow master status) and will execute the configured replacement request appropriately.Issue: CT-2291
Connector (4)
- Connector now recognizes the new MySQL 8.4
show replica statussyntax (As well asshow slave status) and will run replacement configured request appropriately.Issue: CT-2401 - Fixed a bug where connections properly disconnecting with quit command would get an empty database change request.Issue: CT-2395
- Advanced Listeners can now be accessed from the Connector REST API v8.Issue: CT-2329
- Listeners now support the
protocolsetting to switch between mysql and postgres dialects.Issue: CT-2324
Manager (1)
- Upgrade of Drools libraries to v7.74.1.Final.Issue: CT-2206
Documentation (1)
- API documentation has been updated to reflect changes to many of the endpoints, including updated examples of expected inputs and outputs.Issue: CT-2339
API (2)
- The
api/v8/manager/control/service/<service>/datasource/<datasource>/shuncall now checks if the datasource exists before shun. It returns an error if does not exist.Issue: CT-2447 - Added
/api/v8/manager/quorumREST API endpointIssue: CT-2281
Bug Fixes (53)
Installation and Deployment (3)
tpmflagsdatasource-log-directoryandrepl-direct-datasource-log-directorywill now use the value of each other as a default if only one is specifiedIssue: CT-2425- The
tpm updatecommand no longer displays the message"common::diffPasswordsDotStore: No custom source passwords.store file defined - SKIPPING"Issue: CT-2406 - Hyphens are now allowed in service names by
tpm.Issue: CT-2367
Command-line Tools (29)
- The
tpm cert infocommand now properly handles all available typeSpecs.Issue: CT-2532 - The
tpm policycommand now selects the correct service to act upon in Composite clusters.Issue: CT-2525 - The
tpm cert aliases --runningcommand now properly handles thetls_passwordstoreandjmx_passwordstoretypeSpecs.Issue: CT-2512 - Fixes an issue where
dsctl setwith the-resetoption could show warnings when run several times in a row, as shown:WARNING: Could not execute query DROP TABLE `tungsten_alpha`.`heartbeat` : Unknown table 'tungsten_alpha.heartbeat'Issue: CT-2502 routerinvalid completion arguments have been removed.Issue: CT-2501- The
tungsten_send_diagcommand now handles curl andaws s3errors separately and displays the proper message back.Issue: CT-2488 - The
cctrlsystem summarycommand now works correctly to display useful information regarding the host on which the command is executed.Issue: CT-2486 - During a
tpm uninstall, when skipping data services not managed locally,tpmwill now print a notice rather than a warning, since this is the expected behavior.Issue: CT-2479 - The
tpm ask versionandtpm ask versionscommands now display values.Issue: CT-2475 tprovisionwill now correctly handle, and support, SELinux if enabled.Issue: CT-2473- The
cctrl lscommand now correctly displays relative applied latency based on theuse-relative-latencysettings in the INI.Issue: CT-2472 - Fixed an issue where the database could potentially get locked in certain cases when using the
rsyncmethod withtprovisionIssue: CT-2470 executable-prefixis now applied to thedeployallandundeployallscript names. For example, whenexecutable-prefix=mm,deployallwould be namedmm_deployall.Issue: CT-2467- The
tpm keepcommand is now properly called bytpm uninstall, and a regression in a call to the mysql cli has been fixed as well.Issue: CT-2462 - The
tpm updatecommand now properly identifies and removes services with mixed-case service names.Issue: CT-2426 tpmnow properly detects MariaDB default settings.Issue: CT-2424- The
tapicommand now accepts non-standard ports on the command line, and also properly accepts a user/password pair on the CLI.Issue: CT-2420 - The
tungsten_get_statuscommand now passes the correct number of arguments to theprintffunction in various places, preventing"Redundant argument"warnings.Issue: CT-2407 - The
tpm delete-serviceandtpm updatecommands now correctly removeComposite Active/Active cross-site subservices from cctrlIssue: CT-2404 - The
tpm diagcommand now gathers:tungsten-replicator/log/replicator-api.logtungsten-connector/log/connector-api.logtungsten-manager/log/manager-api.log
Issue: CT-2397 - The
tapicommand now creates proper URL's for these standard endpoints when-C,-Mor-Rare specified along with one of the following strings:ping,tungstenVersion,createAdminUser,deleteAdminUser,listAdminUsers,rmiSecurityoruser.Issue: CT-2391 - The
tpm check portsandtpm check ports -ccommands are now able to handle replicator-only nodes. By default, it will automatically try to discover the node type, and you may manually specify the node type with-r|--replicatoror-c|--cluster.Issue: CT-2356 - The
tpm diagcommand no longer displays a NOTICE for missing optional files.Issue: CT-2355 - The
tpm reportcommand now uses the correct API endpoint for Channel 3, Communications from the Connector to the Manager.Issue: CT-2354 tprovisionwas incorrectly setting to the MySQL datadir totungstengroup ownership.Issue: CT-2322- The
tpm diagcommand now properly gathers the uptime command.Issue: CT-2319 tprovisionnow supports provisioning from a cluster to stand-alone replicator hostIssues: CT-2199, CT-2483- In certain instances, when provisioning from a primary using
tprovision, the remote replication service would not get reset.Issue: CT-2138 cctrlnow validates input correctly for theset policycommandIssue: CT-678
Core Replicator (3)
- Fixed an issue where a cluster could display a wrong latency after MySQL and the replicator were stopped and restarted. This would only show under no load conditions.Issue: CT-2485
- The replicator will now properly rollback an XA transaction in case of failure.Issue: CT-2410
- Fixed an issue that would wrongly flag a SQL statement starting with a
#comment as bidi_unsafeIssue: CT-2405
Connector (7)
- Connector bridge mode would fail to route connections to data source ports other than 13306.Issue: CT-2609
- The
trepctl backupcommand would fail using xtrabackup.Issue: CT-2600 - Closed a window where the Connector might let writes go to the old primary during a switch with networking issues.Issue: CT-2556
- The
tpm delete-servicecommand now sets MAINTENANCE mode before operations, then sets back to AUTOMATIC if it wasAUTOMATIC to start with.Issue: CT-2555 - In active/active setups, no longer using global data service for
show slave latencyconnector intercept.Issue: CT-2554 - Fixed an issue with PHP and
caching_sha2_passwordwhen using proxy mode: the protocol part "fast path" was not handled properly by the connector, php would hang after reading an unexpected packet. Workaround for this issue (for earlier tungsten versions) is to setproperty=defaultAuthPlugin=mysql_native_passwordwithin/etc/tungsten/tungsten.ini.Issue: CT-2471 - Fixed an exception when a
user.map@defaultentry would not contain the expected username, password and dataservice parameters.Issue: CT-2368
Manager (7)
- The
cctrlcommands to set routers into the online and offline state were not functioning. This only affected manual execution of these commands fromcctrland did not affect other operations like switch, failover etc. This issue has been resolved.Issue: CT-2526 - Fixed a race condition that aborted if an error happened when setting MySQL to read-only or read-write. Now the command retries until the MySQL is left in the desired state.Issue: CT-2452
- Fixed a manager state machine unhandled case when receiving a view update while joining the cluster.Issue: CT-2449
A datasource can now be removed from the manager configuration (including disk) when in MAINTENANCE mode.
InfoIf the Replicator and Database are still online on the removed host, and the cluster returned to AUTOMATIC mode, the datasource will be recreated. Ensure at least one of the components are also stopped to prevent this.Issue: CT-2372- There were cases where the state of a connector (router) was shown as
UNKNOWN. The issue was resolved by either reporting the reason that the state is unknown i.e. a read timed out etc. or the connector will simply not be shown since it has been disconnected from all managers i.e. either is not running or not reachable due to a network issue.Issue: CT-2338 Under the conditions of a network outage between a primary site and a relay site, where a failover or switch operation was performed on the primary site, the relay replicator on the relay site was not being correctly updated at the time of the failover/switch.
This issue has been resolved by detecting whether or not the relay replicator is correctly configured to replicate from the primary datasource on the primary site and, if not, reconfigures the replicator accordingly.
Issue: CT-2225- Improved performance in manager client connection processing. The fix optimizes queue traversal time when searching for or deleting sessions, enhancing the handling of client (specifically manager or cctrl) connections.Issue: CT-2201
API (4)
- Fixed an issue where a component (replicator/connector) stopped through through the API would wrongly indicate "unable to stop".Issue: CT-2515
- The manager REST API
/api/v8/manager/cluster/statusnow correctly displays the connector active/total number of connections.Issue: CT-2423 - Fixed a bug when the
/manager/cluster/statusREST API call returnedunknownfor the replicator state.Issue: CT-2353 - Fixed REST API ping method in a composite cluster.Issue: CT-2270