Skip to main content
Common Reference

All Release notes

Consolidated release notes across all Continuent products. Use the table of contents below to jump to a specific section.

Contents

Version 8

Tungsten Clustering 8.0

Tungsten Clustering 8.0.4

Build: 132
Release Date: 1 Jun 2026
Release 8.0.4 contains a number of stability improvements and minor bug fixes.

Behavior Changes (2)

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 (1)

  • Upgraded 3rd party libraries to remove critical and high severity CVEs. The full list is as follows:

    • zookeeper 3.4.14 → 3.9.4 — CVE-2023-44981 (SASL Quorum auth bypass)
    • log4j-api / log4j-core 2.23.1 → 2.25.3 (consolidated) — keeps log4j current; no known critical post-2.17 CVEs but stays ahead
    • commons-text 1.9 → 1.12.0 / 1.13.0 — CVE-2022-42889 (Text4Shell)
    • commons-compress 1.21 → 1.27.1 — CVE-2024-25710, CVE-2024-26308 (DoS via crafted archives)
    • commons-configuration2 (replaced commons-configuration 1.9) → 2.11.0 — CVE-2024-29131, CVE-2024-29133
    • commons-io 2.11.0 → 2.18.0 — CVE-2024-47554
    • jackson-databind 2.13.0 → 2.17.2 / 2.18.2 — CVE-2022-42003, CVE-2022-42004
    • guava 31.0.1-jre → 33.4.0-jre — CVE-2023-2976
    • h2 1.4.199 → 2.3.232 — CVE-2021-23463, CVE-2022-23221
    • postgresql JDBC 42.5.4 → 42.7.7 — CVE-2024-1597, CVE-2022-31197, CVE-2022-26520
    • dom4j 1.6.1 → 2.1.4 — CVE-2018-1000632, CVE-2020-10683
    • xstream 1.4.20 → 1.4.21 — CVE-2024-47072
    • velocity-engine-core 2.3 → 2.4.1 — CVE-2020-13936 era cleanup
    • kafka-clients 0.10.2.2 → 3.9.1 — CVE-2023-25194, CVE-2024-27309
    • junit 4.12 → 4.13.2 — CVE-2020-15250 (temp-dir disclosure; test-time only)
    • netty / xz xz 1.8 → 1.9 — CVE-2022-26259 era
    • protobuf-java 2.6.1 → 4.33.5 — CVE-2024-7254, CVE-2022-3171

     

    The following libraries are no longer required and have been removed entirely:

    • bonecp 0.8.0 — abandoned upstream
    • derby 10.12.1.1
    • postgresql 9.0-801.jdbc3 and 9.3-1102.jdbc4 — many old PG-JDBC CVEs gone
    • sqljdbc4 (replaced by mssql-jdbc 12.10.0) — CVE-2022-23270 era
    Issues: CT-2752, CT-2677, CT-2681

Core Clustering (1)

  • Replicator and Connector will now generate a heap dump upon out of memory issues, located respectively in tungsten-replicator/log/replicator.hprof and in tungsten-connector/log/connector.hprof
    Issue: CT-2669

Known Issue (1)

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)

  • When working with MariaDB 11.4 and greater with SSL setup, tpm might fail to properly connect to the MariaDB server because of the new default for ssl-verify-server-cert (now true) REF: https://jira.mariadb.org/browse/MDEV-31857

    tpm will not return any error at install time but some utility scripts might not work correctly.

    Adding ssl-verify-server-cert=false to your MySQL configuration will workaround the problem.

    Issue: CT-2663

Improvements, new features and functionality (9)

Command-line Tools (3)

  • The tpm diag command now captures all MySQL configuration files referenced by any !include/!includedir directives, with a sudo fallback so root-owned 0640 configs are captured too.
    Issue: CT-2745
  • A new thl stats command has been added that allows you to gather statistics on the THL content, such as number of DML and DDL statements grouped by date, schema and table.
    Issues: CT-2720, CT-2760
  • The tpm diag command now searches enabled service log directories for *.hprof files via find, records path and size as hprof_files.txt, then warns the user with file size (in MB) and the tungsten_send_diag -f {path} -c {case_number} upload command for each file found.
    Issue: CT-2665

Core Replicator (2)

  • Improved logging performance of "UPDATE or DELETE statement did not process any row." messages.

    While these messages should be rare, performance could decrease when displaying a lot of rows. Also, the message format was changed when policy is set to WARN, previously:

    Event seqno=3726720187/fragno=0 : UPDATE or DELETE statement did not process any row.
    DELETE FROM `someSchema`.`someTable` WHERE `id` = ?
    Arguments: - ROW# = 0 - KEY(index=1 name=id type=4 [INTEGER] length=8 unsigned=true blob=false desc=BIGINT UNSIGNED) (size = 3) = 123

    Now, only the first line will be displayed by default:

    Event seqno=3726720187/fragno=0 : UPDATE or DELETE statement did not process any row.

    The detailed view of the statement / values that did not change the database will be logged only if log4j is set in DEBUG

    Issue: CT-2733
  • It is now possible to deploy a "cluster-extractor" topology with the standalone Replicator package via Docker.

    For more detiails and a step-by-step guide, see "Deploying a Replicator through Docker"

    Issue: CT-2591

Connector (1)

  • Connector now allows selection of the data service name (tungsten cluster name) at connection time, passing a new flag "dataservice=<name>" together with the desired schema name

    Example:

    mysql -u app_user -psecret -hdb1 -Dtest@dataservice=shard1 -P 3306

    This feature only works in proxy mode (it is not accessible in bridge mode). See "Advanced Shard Routing" for full implementation details.

    Issue: CT-2688

Manager (2)

  • A shunned node can be set to archive mode.
    Issue: CT-2690
  • A new TPM property property=policy.replica.promotion.max.synchronizing.duration has been added, having the following affect.

    During failover/switch, candidates stuck in SYNCHRONIZING state longer than the configured threshold are rejected. If all candidates are rejected, the promotion fails with "Unable to switch the master because none of the slaves are ONLINE or otherwise available to switch to."

    In the automatic failover path, the failed datasource is shunned with reason "FAILOVER-ABORTED".

    This feature closes a gap where data-loss could have previoulsy occurred when the failover/switch selected a candidate with a replicator in an undetected error state

    Issue: CT-2657

Documentation (1)

  • All documentation URL references in help text output and template files have been updated.
    Issue: CT-2686

Bug Fixes (8)

Installation and Deployment (1)

  • tpm validate-update no longer exits with error when upgrading from 6.x versions and modifications of tungsten.ini are required for SSL setup.
    Issue: CT-2658

Command-line Tools (3)

  • tpm purge-thl / tungsten_purge_thl : the "running on a Primary node" warning and the --files flag now both behave correctly when there is only a single THL file (previously skipped via an early return).
    Issue: CT-2750
  • THL and query replicator command-line tools now send log4j output to stderr instead of stdout, so callers piping/parsing their output get clean data even when warnings or errors are logged.
    Issue: CT-2744
  • The tpm report command no longer issues warnings about "Duplicate specification for option".
    Issue: CT-2672

Connector (1)

  • Fixed an issue in multi-site configurations where a site recovery would cause a brief application disconnection on the local site.
    Issue: CT-2693

Manager (1)

  • Fixed the manager infinite restart loop on edge cases while joining a cluster.
    Issue: CT-2723

Security (1)

  • Fixed an issue with tpm wrongly trying to validate keystores with database SSL off + THL SSL on.
    Issue: CT-2691

API (1)

  • Manager API "status" payload misspelled "truststoreLocation" (was trustoreLocation)
    Issue: CT-2756

Tungsten Clustering 8.0.3

Build: 38
Release Date: 23 Feb 2026
Release 8.0.3 contains an important bug fix to handle a behavior change in newer versions of Java, stability improvements with the Manager to fix a number of memory leaks, and a new feature for tracking slow queries through the replicator.

Behavior Changes (1)

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 (1)

Improvements, new features and functionality (2)

Core Replicator (1)

  • The replicator now includes real-time performance monitoring to track and identify slow database operations during replication. The feature provides visibility into transaction, event, and statement execution times with configurable thresholds for alerting. For more information on configuring and using this feature, see trepctl perflog
    Issue: CT-2629

Security (1)

  • Updated log4j libraries to mitigate security threats found in earlier versions. Note that these issues do not affect Tungsten installations when configured with the default log4j properties files.
    Issue: CT-2674

Bug Fixes (6)

Installation and Deployment (1)

  • Fixed an installation issue when using MariaDB 10.6 with SSL. Previously, this would have failed to install showing an error message like:

    Unable to connect to the MySQL server using tungsten@db1:13306 (WITH PASSWORD) (MySQLLoginCheck)
    Issue: CT-2624

Command-line Tools (1)

  • Fixed a bug that would cause tprovision to fail if the password contained double-quotes.
    Issue: CT-2673

Backup and Restore (1)

  • Fixes an issue when, in certain cases, a newly provisioned database would be left in the offline_mode.
    Issue: CT-2660

Core Replicator (1)

  • Recent java versions changed a default that now enable endpoint identification in secured RMI calls. As a quick turnaround, this release restores the default of disabling identification in various Tungsten scripts.
    Issue: CT-2666

Connector (1)

  • Fixed a null pointer exception error showing up in rare cases at startup time.
    Issue: CT-2656

Manager (1)

  • A number of bugs have been resolved that would cause the managers to suffer frequent OutOfMemory issues.
    Issue: CT-2667

Tungsten Clustering 8.0.2

Build: 87
Release Date: 13 Jan 2026
Release 8.0.2 contains a number of bug fixes, stability improvements and new features.
Info
This release contains fixes CT-2632, CT-2638 and CT-2640 which address a bug in handling of - (hypens) and mixed case in hostnames and servicenames. If you have -'s in either of these areas, or you are running a Composite Active/Active topology, please doNOT upgrade to v8.0.0 or v8.0.1 and instead upgrade directly to this v8.0.2 release

Behavior Changes (2)

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 (1)

  • tpm validate now verifies localhost is defined in /etc/hosts
    Issue: CT-2564

Command-line Tools (1)

  • The tprovision command now deletes only binary log files listed in the index if the binary log directory is not the same as the mysql data directory.
    Issue: CT-2631

Improvements, new features and functionality (4)

Installation and Deployment (1)

  • New feature: tungsten.ini backup and history.

    When enabled with the tpm flag tungsten-ini-backup (false by default), the tpm update command will create a copy of the current INI file (default: /etc/tungsten/tungsten.ini) as$CONTINUENT_ROOT/history/ini/tungsten.ini.YYYYMMDDhhmmss

    When enabled with the tpm flag tungsten-ini-backup, the tpm install command will create the first history file and the history subdir, if needed.

    A new sub-command, tpm ini diff has been added to compare the current INI file (default: /etc/tungsten/tungsten.ini) and a history file (default: latest history file found), and can also accept --stamp [YYMMDDhhmmss] to specify which file to diff by timestamp.

    A new sub-command, tpm ini backup has been added to manually invoke the same copy that the tpm update command does.

    Added two new tpm configuration flags:

    Issue: CT-2635

Command-line Tools (2)

  • New feature tpm copy --example will show the manual steps taken by tpm copy --init to copy the cluster certificate files to other nodes.
    Issue: CT-2636
  • A new subcommand tpm ini defaults has been added to list any tpm option that actually has a default value defined in the tools/tpm_options_db.txt file, along with the default value.

    Additionally, documentation has been updated to show defaults and options for all properties where applicable.

    Issue: CT-2634

Platform Specific Deployments (1)

  • This release is now certified with the following OS releases:
    • RHEL 10
    • Rocky Linux 10
    • Oracle Linux 10
    Issue: CT-2642

Bug Fixes (8)

Installation and Deployment (3)

  • The use of the - character in datasource service names is now properly handled.

    In versions 7.x of tungsten, the - character, internally, was converted to an _. From v8 onwards the - character is maintained, however this led to an issue where tpm would fail during an upgrade as it was unable to correctly identify the service names.

    If you use the - in your servicenames and you are currently running v7.x, you will need to replace the - with an _ in your /etc/tungsten/tungsten.ini file and upgrade directly to v8.0.2. If you wish to maintain the - please contact Continuent Support who will assist in the upgrade process.

    Issue: CT-2640
  • Fixed an issue where mixed case letters in hostnames combined with a Composite Active/Active topology, would cause the replicators to reconfigure against the wrong tracking schema.
    Issue: CT-2638
  • Fixed an issue where - (hyphens) in hostnames combined with a Composite Active/Active topology, would cause the replicators to reconfigure against the wrong tracking schema.
    Issue: CT-2632

Command-line Tools (1)

  • The tprovision command now correctly honors the mountpoint override flag when not using method rsync.
    Issue: CT-2651

Connector (3)

  • Fixed issue introduced by CT-2511 (dual certificate support) where the keystore was reloaded at every new connection.
    Issue: CT-2652
  • Connector configuration files to execute Tungsten-specific show slave status request now get the right schema to select from.
    Issue: CT-2639
  • Fixed an issue in the Drizzle driver that could cause memory errors when handling large string parameters.
    Issue: CT-2627

Manager (1)

  • If a cluster was idle for more than 15 minutes and a failure occured, the failover would fail to complete.
    Issue: CT-2637

Tungsten Clustering 8.0.1

Build: 185
Release Date: 6 Oct 2025
Release 8.0.1 contains a number of bug fixes and improvements.
Known issue: replication service mis-configuration
There is a known issue in this release that will result in a mis-configuration of the replication services for both new installations and upgrades, under the following conditions:
  • Composite Active/Active topology, AND
  • Your hostnames contain a dash symbol (-) and/or a mix of UPPER and lower case characters.
All other topologies are unaffected. If the above applies to your installation please use v8.0.2. For any questions or concerns, or if you feel you may already be impacted by this, please contact Continuent Support.

Behavior Changes (2)

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 (1)

  • The tprovision command no longer requires the external tool tungsten_get_mysql_datadir.

    Additionally, the tool has been significantly re-factored for greater stability, performance and functionality.

    Issue: CT-2597

Security (1)

  • Now providing adequate error message when TLS certificates differ between connector and managers, or when manager refuses the SSL handshake.
    Issue: CT-2579

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

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 mis-configuration of the replication services.
    Issue: CT-2632

Improvements, new features and functionality (5)

Command-line Tools (3)

  • New tpm flag --add-ssl now allows you to force-generate certificates when doing an upgrade. This allows configurations with security disabled to be upgraded to 8.0.1 AND switched to using SSL/TLS communications at the same time. Example:

    shell> tools/tpm update --replace-release --add-ssl
    Issue: CT-2619
  • The tpm ini check command now validates composite topologies.
    Issue: CT-2606
  • New Feature: tpm ini upgrade --ini [fullpath] will display all changes to the specified INI file that would be performed by the tpm update commands during a version upgrade. Adding the --write argument would apply the changes to the specified file as well.
    Issue: CT-2601

Security (1)

  • Tungsten can now hold two MySQL database SSL Certificates, allowing rotation of certificates without the need for downtime. A new command line tool, rotate_certs, is provided to aid in this process.
    Issue: CT-2511

Platform Specific Deployments (1)

  • LTS MariaDB 11.4 is now certified.
    Issue: CT-2337

Bug Fixes (21)

Installation and Deployment (1)

  • tpm now only reads /etc/tungsten/tungsten.ini (no longer looking in $HOME directory and /etc/tungsten.ini)

    For a different path, different filename or multiple files, use the --ini supplying a comma-separated list

    Issue: CT-2612

Command-line Tools (8)

  • The tpm cert gen command now works during version upgrades when a security configuration file may not have existed before (passwords.store)
    Issue: CT-2618
  • Fixed a regression where network partition would lead to connector partial site outage.
    Issue: CT-2615
  • The tpm ini check command now handles a variety of edge cases.
    Issue: CT-2613
  • The tungsten_send_diag now uses AWS Signature Version 4 to upload files.
    Issue: CT-2589
  • The tapi command no longer issues an error when the quantity of command-line arguments is larger than expected.
    Issue: CT-2580
  • The tpm purge-thl command now works properly when run against environments where there are multiple THL files, but the lowest seqno returned exists in the very first THL file.
    Issue: CT-2561
  • The tapi command now handles various payload outputs properly.
    Issue: CT-2553
  • Corrected debug outputs in the Perl tpm framework.
    Issue: CT-2497

Backup and Restore (2)

  • Fixed an edge case issue with xtrabackup running against the primary node and MySQL 8+.
    Info
    Generally we do not recommend taking backups from primary nodes, and instead backups should be taken from replicas.
    Issue: CT-2602
  • The trepctl backup command would fail using xtrabackup.
    Issue: CT-2600

Core Replicator (2)

  • With recent SELinux changes, MySQL might be unable to read from /tmp.

    This directory is used when applying a LOAD DATA INFILE command that was logged using Statement Based Replication (warning : this is considered as unsafe by MySQL).

    In order to avoid any issues, a new setting has been added to indicate a directory to use : svc-applier-ldi-temp-dir=/tmp/mysqltmp

    In this case, mysqltmp is a new subdirectory that should be set with the following permissions and SELinux context


    mkdir -p /tmp/mysqltmp
    sudo chown -R mysql: /tmp/mysqltmp
    sudo chmod -R g+r /tmp/mysqltmp
    sudo semanage fcontext -a -t mysqld_db_t '/tmp/mysqltmp(/.*)?'
    sudo restorecon -Rv /tmp/mysqltmp

    Another improvement was also added to force the use of LOCAL when applying a LOAD DATA INFILEcommand that was logged using SBR. This is useful when applying to a remote MySQL host. To enable, set the value of the svc-applier-ldi-use-local=true (default : false)

    Issue: CT-2603
  • Fixed an issue where timestamp columns would not match between source and target when using theprivileged-slave=false property to replicate from a source database using MIXED binlog mode.
    Issue: CT-2594

Connector (3)

  • Fixed an issue with witness nodes not being accepted by older connectors when running with newer managers, triggering manager/connector reconnections in loop.
    Issue: CT-2620
  • Fixes NullPointerException upon I/O errors in router gateway.
    Issue: CT-2610
  • No longer printing broken pipe errors (typically generated by haproxy or hardware loadbalancer checks) whenprintConnectionWarnings=false (the default)
    Issue: CT-2576

Manager (2)

  • Fixed an SSL configuration misconfiguration between manager and connector communication.
    Issue: CT-2608
  • Fixed a NullPointerException error that may have prevented failovers occurring in some scenarios.
    Issue: CT-2607

Security (1)

  • tungsten_mysql_ssl_setup now properly generates v3 self signed CA certificates for openssl 3 found in RHEL9 Linux flavors.
    Issue: CT-2581

Monitoring (1)

  • Additional prometheus metrics have been added to the Replicator:
    • tungsten_replicator_service_online_duration_seconds gauge shows duration in seconds since the replicator was put online.
    • tungsten_replicator_task_total counter shows statistics by service, stage and task as shown in the following example:

      tungsten_replicator_task_total{service="alpha",stage="q-to-dbms",task_id="1",stat="extract_time",} 250.015
      In this case, this is the extract time spent by the task #1 of the q-to-dbms stage of the alpha service. This is similar to the new trepctl perflog output.
    Issue: CT-2514

API (1)

  • Fixed an issue with log4j2 library embedded in tungsten-api jar which could trigger a warning in cctrl and other log files.
    Issue: CT-2604

Tungsten Clustering 8.0.0

Build: 308
Release Date: 12 Sept 2025

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

Known issue: replication service misconfiguration
There is a known issue in this release that will result in a misconfiguration of the replication services for both new installations and upgrades, under the following conditions:
  • Composite Active/Active topology, AND
  • Your hostnames contain a dash symbol (-) and/or a mix of UPPER and lower case characters.
All other topologies are unaffected. If the above applies to your installation please use v8.0.2. For any questions or concerns, or if you feel you may already be impacted by this, please contact Continuent Support.

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_check and tungsten_provision_thl have 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)

Command-line Tools (9)

  • The tpm cert info command now provides better error messages when a specifiedtypeSpec file does not exist.
    Issue: CT-2530
  • The tpm ask command now returns the appropriate values for keys: stagingdir,stagingpath, staginghost and staginguser.

    Additionally, the tpm ask staging command will return a JSON structure with all values. All values are the same as the output of the tpm query-staging command, just presented differently for easier machine usage.

    Issue: CT-2510
  • A new cli argument has been added (--apiver 8) to allow the tapi command to use APIv8. By default, tapi will continue to use APIv2 against v8 installations, using the--apiver 8 option is experimental and should be used with care. Full APIv8 functionality will be included in tapi in a future release.
    Issue: CT-2456
  • The tpm command now allows hyphens in dataservice names.
    Issue: CT-2453
  • Removed sigtrap module dependency from tungsten_find_orphaned.
    Issue: CT-2451
  • The tungsten_send_diag command 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
    • --primary and --create-primary as an additional alias for -c
    • -C, --mysqlclone as aliases for -m mysqlclone
    • -D, --mysqldump as aliases for -m mysqldump
    • -R, --rsync as aliases for -m rsync
    • -X, --xtrabackup as 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 tprovision when parallel apply is in use.
    Issue: CT-2275

Connector (1)

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=xxx and must have the same name in both tungsten_keystore andtungsten_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 time
    Issue: CT-2411
  • Manager and Replicator now get higher CPU priority (-9 nice value) through systemd configuration file. When not using systemd, 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_setup incorrectly 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)

Command-line Tools (12)

  • The tpm ask command will now convert values 0 and false toNo and values 1 and true to Yes as human output when given --human or -n cli args.
    Issue: CT-2559
  • The tpm ini command now handles all new tpm options.
    Issue: CT-2543
  • Added missing help text for the cctrl router command.
    Issue: CT-2500
  • The tpm diag command now gathers the output of the tpm ini check -xcommand as the tpmINICheck call.
    Issue: CT-2499
  • The tpm diag command now gathers the output of cctrl system summary
    Issue: CT-2492
  • A new -z option has been added to tprovision which will enable compression when using the rsync method.
    Issue: CT-2489
  • The tpm cert command will now handle public key files. The command tpm cert gen public will create $CONTINUENT_HOME/generated/tungsten_public.jks from the$CONTINUENT_HOME/share/tungsten_keystore.jks file and thetpm cert list public command will show the contents, etc.
    Issue: CT-2434
  • The tpm ask command now supports the -s|--service option for dsrole, dsstate, trrole and trstate keys.

    The option alias for --short is now -S (capitalized), was previously lower-case.

    Example:

    tpm ask dsrole --service alpha
    Issue: CT-2400
  • The new tpm ini command allows for easy creation, checking and administration of the /etc/tungsten/tungsten.ini configuration file.
    Issue: CT-2366
  • When using the -m rsync option with tprovision, the rsync command now includes the oStrictHostKeyChecking=no options.
    Issue: CT-2348
  • The tapi command 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 Tools
    Issue: CT-2306
  • The tpm post-process command has a new argument --statemap which processes property=statemap.* entries in the INI defaults section (only) to update the matching entries in the cluster-home/conf/statemap.properties.defaults file.

    Once done, tpm post-process --statemap will exit without invoking the old functionality.

    Issue: CT-1906

Core Replicator (4)

  • The trepctl perf output has been improved when parallel apply is enabled to show granular statistics per channel.
    Issue: CT-2517
  • A new thl apply command 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 applying field has been added to the output of trepctl reset.
    ...
    applying : 3 / 0 (92.86%)
    ...
    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.0 :
    applying.1 : 25 / 0 (92.86%)
    ...
    Issue: CT-2315
  • Replicator now recognizes the new MySQL 8.4 show binary log status syntax (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 status syntax (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 protocol setting 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>/shun call now checks if the datasource exists before shun. It returns an error if does not exist.
    Issue: CT-2447
  • Added /api/v8/manager/quorum REST API endpoint
    Issue: CT-2281

Bug Fixes (53)

Installation and Deployment (3)

  • tpm flags datasource-log-directory and repl-direct-datasource-log-directory will now use the value of each other as a default if only one is specified
    Issue: CT-2425
  • The tpm update command 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 info command now properly handles all available typeSpecs.
    Issue: CT-2532
  • The tpm policy command now selects the correct service to act upon in Composite clusters.
    Issue: CT-2525
  • The tpm cert aliases --running command now properly handles thetls_passwordstore and jmx_passwordstore typeSpecs.
    Issue: CT-2512
  • Fixes an issue where dsctl set with the -reset option 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
  • router invalid completion arguments have been removed.
    Issue: CT-2501
  • The tungsten_send_diag command now handles curl and aws s3 errors separately and displays the proper message back.
    Issue: CT-2488
  • The cctrl system summary command 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 version and tpm ask versions commands now display values.
    Issue: CT-2475
  • tprovision will now correctly handle, and support, SELinux if enabled.
    Issue: CT-2473
  • The cctrl ls command now correctly displays relative applied latency based on the use-relative-latency settings in the INI.
    Issue: CT-2472
  • Fixed an issue where the database could potentially get locked in certain cases when using thersync method with tprovision
    Issue: CT-2470
  • executable-prefix is now applied to the deployall and undeployall script names. For example, whenexecutable-prefix=mm, deployall would be named mm_deployall.
    Issue: CT-2467
  • The tpm keep command is now properly called by tpm uninstall, and a regression in a call to the mysql cli has been fixed as well.
    Issue: CT-2462
  • The tpm update command now properly identifies and removes services with mixed-case service names.
    Issue: CT-2426
  • tpm now properly detects MariaDB default settings.
    Issue: CT-2424
  • The tapi command 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_status command now passes the correct number of arguments to theprintf function in various places, preventing "Redundant argument" warnings.
    Issue: CT-2407
  • The tpm delete-service and tpm update commands now correctly removeComposite Active/Active cross-site subservices from cctrl
    Issue: CT-2404
  • The tpm diag command now gathers:
    • tungsten-replicator/log/replicator-api.log
    • tungsten-connector/log/connector-api.log
    • tungsten-manager/log/manager-api.log
    Issue: CT-2397
  • The tapi command now creates proper URL's for these standard endpoints when-C, -M or -R are specified along with one of the following strings: ping, tungstenVersion, createAdminUser,deleteAdminUser, listAdminUsers, rmiSecurity or user.
    Issue: CT-2391
  • The tpm check ports and tpm check ports -c commands 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|--replicator or -c|--cluster.
    Issue: CT-2356
  • The tpm diag command no longer displays a NOTICE for missing optional files.
    Issue: CT-2355
  • The tpm report command now uses the correct API endpoint for Channel 3, Communications from the Connector to the Manager.
    Issue: CT-2354
  • tprovision was incorrectly setting to the MySQL datadir to tungsten group ownership.
    Issue: CT-2322
  • The tpm diag command now properly gathers the uptime command.
    Issue: CT-2319
  • tprovision now supports provisioning from a cluster to stand-alone replicator host
    Issues: 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
  • cctrl now validates input correctly for the set policy command
    Issue: 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_unsafe
    Issue: CT-2405

Connector (7)

  • Connector bridge mode would fail to route connections to data source ports other than 13306.
    Issue: CT-2609
  • The trepctl backup command 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-service command 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 latency connector intercept.
    Issue: CT-2554
  • Fixed an issue with PHP and caching_sha2_password when 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 set property=defaultAuthPlugin=mysql_native_passwordwithin /etc/tungsten/tungsten.ini.
    Issue: CT-2471
  • Fixed an exception when a user.map @default entry would not contain the expected username, password and dataservice parameters.
    Issue: CT-2368

Manager (7)

  • The cctrl commands to set routers into the online and offline state were not functioning. This only affected manual execution of these commands from cctrl and 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.

    Info
    If 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/status now correctly displays the connector active/total number of connections.
    Issue: CT-2423
  • Fixed a bug when the /manager/cluster/status REST API call returned unknown for the replicator state.
    Issue: CT-2353
  • Fixed REST API ping method in a composite cluster.
    Issue: CT-2270

Tungsten Replicator 8.0

Tungsten Replicator 8.0.4

Build: 132
Release Date: 1 Jun 2026
Release 8.0.4 contains a number of stability improvements and minor bug fixes.

Behavior Changes (2)

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 (1)

  • Upgraded 3rd party libraries to remove critical and high severity CVEs. The full list is as follows:

    • zookeeper 3.4.14 → 3.9.4 — CVE-2023-44981 (SASL Quorum auth bypass)
    • log4j-api / log4j-core 2.23.1 → 2.25.3 (consolidated) — keeps log4j current; no known critical post-2.17 CVEs but stays ahead
    • commons-text 1.9 → 1.12.0 / 1.13.0 — CVE-2022-42889 (Text4Shell)
    • commons-compress 1.21 → 1.27.1 — CVE-2024-25710, CVE-2024-26308 (DoS via crafted archives)
    • commons-configuration2 (replaced commons-configuration 1.9) → 2.11.0 — CVE-2024-29131, CVE-2024-29133
    • commons-io 2.11.0 → 2.18.0 — CVE-2024-47554
    • jackson-databind 2.13.0 → 2.17.2 / 2.18.2 — CVE-2022-42003, CVE-2022-42004
    • guava 31.0.1-jre → 33.4.0-jre — CVE-2023-2976
    • h2 1.4.199 → 2.3.232 — CVE-2021-23463, CVE-2022-23221
    • postgresql JDBC 42.5.4 → 42.7.7 — CVE-2024-1597, CVE-2022-31197, CVE-2022-26520
    • dom4j 1.6.1 → 2.1.4 — CVE-2018-1000632, CVE-2020-10683
    • xstream 1.4.20 → 1.4.21 — CVE-2024-47072
    • velocity-engine-core 2.3 → 2.4.1 — CVE-2020-13936 era cleanup
    • kafka-clients 0.10.2.2 → 3.9.1 — CVE-2023-25194, CVE-2024-27309
    • junit 4.12 → 4.13.2 — CVE-2020-15250 (temp-dir disclosure; test-time only)
    • netty / xz xz 1.8 → 1.9 — CVE-2022-26259 era
    • protobuf-java 2.6.1 → 4.33.5 — CVE-2024-7254, CVE-2022-3171

     

    The following libraries are no longer required and have been removed entirely:

    • bonecp 0.8.0 — abandoned upstream
    • derby 10.12.1.1
    • postgresql 9.0-801.jdbc3 and 9.3-1102.jdbc4 — many old PG-JDBC CVEs gone
    • sqljdbc4 (replaced by mssql-jdbc 12.10.0) — CVE-2022-23270 era
    Issues: CT-2752, CT-2677, CT-2681

Core Clustering (1)

  • Replicator will now generate a heap dump upon out of memory issues, located in tungsten-replicator/log/replicator.hprof.
    Issue: CT-2669

Improvements, new features and functionality (5)

Command-line Tools (2)

  • The tpm diag command now captures all MySQL configuration files referenced by any !include/!includedir directives, with a sudo fallback so root-owned 0640 configs are captured too.
    Issue: CT-2745
  • A new thl stats command has been added that allows you to gather statistics on the THL content, such as number of DML and DDL statements grouped by date, schema and table.
    Issues: CT-2720, CT-2760

Core Replicator (2)

  • Improved logging performance of "UPDATE or DELETE statement did not process any row." messages.

    While these messages should be rare, performance could decrease when displaying a lot of rows. Also, the message format was changed when policy is set to WARN, previously:

    Event seqno=3726720187/fragno=0 : UPDATE or DELETE statement did not process any row.
    DELETE FROM `someSchema`.`someTable` WHERE `id` = ?
    Arguments: - ROW# = 0 - KEY(index=1 name=id type=4 [INTEGER] length=8 unsigned=true blob=false desc=BIGINT UNSIGNED) (size = 3) = 123

    Now, only the first line will be displayed by default:

    Event seqno=3726720187/fragno=0 : UPDATE or DELETE statement did not process any row.

    The detailed view of the statement / values that did not change the database will be logged only if log4j is set in DEBUG

    Issue: CT-2733
  • It is now possible to deploy a "cluster-extractor" topology with the standalone Replicator package via Docker.

    For more detiails and a step-by-step guide, see "Deploying a Replicator through Docker"

    Issue: CT-2591

Documentation (1)

  • All documentation URL references in help text output and template files have been updated.
    Issue: CT-2686

Bug Fixes (5)

Installation and Deployment (1)

  • tpm validate-update no longer exits with error when upgrading from 6.x versions and modifications of tungsten.ini are required for SSL setup.
    Issue: CT-2658

Command-line Tools (3)

  • tpm purge-thl / tungsten_purge_thl : the "running on a Primary node" warning and the --files flag now both behave correctly when there is only a single THL file (previously skipped via an early return).
    Issue: CT-2750
  • THL and query replicator command-line tools now send log4j output to stderr instead of stdout, so callers piping/parsing their output get clean data even when warnings or errors are logged.
    Issue: CT-2744
  • The tpm report command no longer issues warnings about "Duplicate specification for option".
    Issue: CT-2672

Security (1)

  • Fixed an issue with tpm wrongly trying to validate keystores with database SSL off + THL SSL on.
    Issue: CT-2691

Tungsten Replicator 8.0.3

Build: 38
Release Date: 23 Feb 2026
Release 8.0.3 contains an important bug fix to handle a behavior change in newer versions of Java, and a new feature for tracking slow queries through the replicator.

Improvements, new features and functionality (2)

Core Replicator (1)

  • The replicator now includes real-time performance monitoring to track and identify slow database operations during replication. The feature provides visibility into transaction, event, and statement execution times with configurable thresholds for alerting. For more information on configuring and using this feature, see trepctl perflog
    Issue: CT-2629

Security (1)

  • Updated log4j libraries to mitigate security threats found in earlier versions. Note that these issues do not affect Tungsten installations when configured with the default log4j properties files.
    Issue: CT-2674

Bug Fixes (4)

Installation and Deployment (1)

  • Fixed an installation issue when using MariaDB 10.6 with SSL. Previously, this would have failed to install showing an error message like:

    Unable to connect to the MySQL server using tungsten@db1:13306 (WITH PASSWORD) (MySQLLoginCheck)
    Issue: CT-2624

Command-line Tools (1)

  • Fixed a bug that would cause tprovision to fail if the password contained double-quotes.
    Issue: CT-2673

Backup and Restore (1)

  • Fixes an issue when, in certain cases, a newly provisioned database would be left in the offline_mode.
    Issue: CT-2660

Core Replicator (1)

  • Recent java versions changed a default that now enable endpoint identification in secured RMI calls. As a quick turnaround, this release restores the default of disabling identification in various Tungsten scripts.
    Issue: CT-2666

Tungsten Replicator 8.0.2

Build: 87
Release Date: 13 Jan 2026
Release 8.0.2 contains a number of bug fixes, stability improvements and new features.
Info
This release contains bug fix CT-2632, CT-2638 and CT-2640 that fixes a bug in handling of - (hypens) and mixed case in hostnames and servicenames. If you have -'s in either of these areas please do NOT upgrade to v8.0.0 or v8.0.1 and instead upgrade directly to this v8.0.2 release

Behavior Changes (2)

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 (1)

  • tpm validate now verifies localhost is defined in /etc/hosts
    Issue: CT-2564

Command-line Tools (1)

  • The tprovision command now deletes only binary log files listed in the index if the binary log directory is not the same as the mysql data directory.
    Issue: CT-2631

Improvements, new features and functionality (4)

Installation and Deployment (1)

  • New feature: tungsten.ini backup and history.

    When enabled with the tpm flag tungsten-ini-backup (false by default), the tpm update command will create a copy of the current INI file (default: /etc/tungsten/tungsten.ini) as$CONTINUENT_ROOT/history/ini/tungsten.ini.YYYYMMDDhhmmss

    When enabled with the tpm flag tungsten-ini-backup, the tpm install command will create the first history file and the history subdir, if needed.

    A new sub-command, tpm ini diff has been added to compare the current INI file (default: /etc/tungsten/tungsten.ini) and a history file (default: latest history file found), and can also accept --stamp [YYMMDDhhmmss] to specify which file to diff by timestamp.

    A new sub-command, tpm ini backup has been added to manually invoke the same copy that the tpm update command does.

    Added two new tpm configuration flags:

    Issue: CT-2635

Command-line Tools (2)

  • New feature tpm copy --example will show the manual steps taken by tpm copy --init to copy the cluster certificate files to other nodes.
    Issue: CT-2636
  • A new subcommand tpm ini defaults has been added to list any tpm option that actually has a default value defined in the tools/tpm_options_db.txt file, along with the default value.

    Additionally, documentation has been updated to show defaults and options for all properties where applicable.

    Issue: CT-2634

Platform Specific Deployments (1)

  • This release is now certified with the following OS releases:
    • RHEL 10
    • Rocky Linux 10
    • Oracle Linux 10
    Issue: CT-2642

Bug Fixes (2)

Installation and Deployment (1)

  • The use of the - character in datasource service names is now properly handled.

    In versions 7.x of tungsten, the - character, internally, was converted to an _. From v8 onwards the - character is maintained, however this led to an issue where tpm would fail during an upgrade as it was unable to correctly identify the service names.

    If you use the - in your servicenames and you are currently running v7.x, you will need to replace the - with an _ in your /etc/tungsten/tungsten.ini file and upgrade directly to v8.0.2. If you wish to maintain the - please contact Continuent Support who will assist in the upgrade process.

    Issue: CT-2640

Command-line Tools (1)

  • The tprovision command now correctly honors the mountpoint override flag when not using method rsync.
    Issue: CT-2651

Tungsten Replicator 8.0.1

Build: 185
Release Date: 6 Oct 2025
Release 8.0.1 contains a number of bug fixes and improvements
Known issue: replication service mis-configuration
There is a known issue in this release that will result in a mis-configuration of the replication services for both new installations and upgrades, under the following conditions:
  • Your hostnames contain a dash symbol (-) and/or a mix of UPPER and lower case characters.
If the above applies to your installation please use v8.0.2. For any questions or concerns, or if you feel you may already be impacted by this, please contact Continuent Support.

Behavior Changes (1)

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 (1)

  • The tprovision command no longer requires the external tool tungsten_get_mysql_datadir.

    Additionally, the tool has been significantly re-factored for greater stability, performance and functionality.

    Issue: CT-2597

Improvements, new features and functionality (3)

Command-line Tools (2)

  • New tpm flag --add-ssl now allows you to force-generate certificates when doing an upgrade. This allows configurations with security disabled to be upgraded to 8.0.1 AND switched to using SSL/TLS communications at the same time. Example:

    shell> tools/tpm update --replace-release --add-ssl
    Issue: CT-2619
  • New Feature: tpm ini upgrade --ini [fullpath] will display all changes to the specified INI file that would be performed by the tpm update commands during a version upgrade. Adding the --write argument would apply the changes to the specified file as well.
    Issue: CT-2601

Platform Specific Deployments (1)

  • LTS MariaDB 11.4 is now certified.
    Issue: CT-2337

Bug Fixes (15)

Installation and Deployment (1)

  • tpm now only reads /etc/tungsten/tungsten.ini (no longer looking in $HOME directory and /etc/tungsten.ini)

    For a different path, different filename or multiple files, use the --ini supplying a comma-separated list

    Issue: CT-2612

Command-line Tools (7)

  • The tpm cert gen command now works during version upgrades when a security configuration file may not have existed before (passwords.store)
    Issue: CT-2618
  • The tpm ini check command now handles a variety of edge cases.
    Issue: CT-2613
  • The tungsten_send_diag now uses AWS Signature Version 4 to upload files.
    Issue: CT-2589
  • The tapi command no longer issues an error when the quantity of command-line arguments is larger than expected.
    Issue: CT-2580
  • The tpm purge-thl command now works properly when run against environments where there are multiple THL files, but the lowest seqno returned exists in the very first THL file.
    Issue: CT-2561
  • The tapi command now handles various payload outputs properly.
    Issue: CT-2553
  • Corrected debug outputs in the Perl tpm framework.
    Issue: CT-2497

Backup and Restore (2)

  • Fixed an edge case issue with xtrabackup running against the primary node and MySQL 8+.
    Info
    Generally we do not recommend taking backups from primary nodes, and instead backups should be taken from replicas.
    Issue: CT-2602
  • The trepctl backup command would fail using xtrabackup.
    Issue: CT-2600

Core Replicator (2)

  • With recent SELinux changes, MySQL might be unable to read from /tmp.

    This directory is used when applying a LOAD DATA INFILE command that was logged using Statement Based Replication (warning : this is considered as unsafe by MySQL).

    In order to avoid any issues, a new setting has been added to indicate a directory to use : svc-applier-ldi-temp-dir=/tmp/mysqltmp

    In this case, mysqltmp is a new subdirectory that should be set with the following permissions and SELinux context


    mkdir -p /tmp/mysqltmp
    sudo chown -R mysql: /tmp/mysqltmp
    sudo chmod -R g+r /tmp/mysqltmp
    sudo semanage fcontext -a -t mysqld_db_t '/tmp/mysqltmp(/.*)?'
    sudo restorecon -Rv /tmp/mysqltmp

    Another improvement was also added to force the use of LOCAL when applying a LOAD DATA INFILEcommand that was logged using SBR. This is useful when applying to a remote MySQL host. To enable, set the value of the svc-applier-ldi-use-local=true (default : false)

    Issue: CT-2603
  • Fixed an issue where timestamp columns would not match between source and target when using theprivileged-slave=false property to replicate from a source database using MIXED binlog mode.
    Issue: CT-2594

Security (1)

  • tungsten_mysql_ssl_setup now properly generates v3 self signed CA certificates for openssl 3 found in RHEL9 Linux flavors.
    Issue: CT-2581

Monitoring (1)

  • Additional prometheus metrics have been added to the Replicator:
    • tungsten_replicator_service_online_duration_seconds gauge shows duration in seconds since the replicator was put online.
    • tungsten_replicator_task_total counter shows statistics by service, stage and task as shown in the following example:

      tungsten_replicator_task_total{service="alpha",stage="q-to-dbms",task_id="1",stat="extract_time",} 250.015
      In this case, this is the extract time spent by the task #1 of the q-to-dbms stage of the alpha service. This is similar to the new trepctl perflog output.
    Issue: CT-2514

API (1)

  • Fixed an issue with log4j2 library embedded in tungsten-api jar which could trigger a warning in cctrl and other log files.
    Issue: CT-2604

Tungsten Replicator 8.0.0

Build: 308
Release Date: 12 Sept 2025

Release 8.0.0 is the first major v8 release and contains a wide range of bug fixes, and improvements.

Build 8.0.0-305 was initially released on 28 Apr 2025, and re-released as 8.0.0-308 on 12 Sept 2025

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_check and tungsten_provision_thl have been deprecated and will be removed in a future release.
    Issue: CT-2509

Behavior Changes (13)

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 (2)

Command-line Tools (9)

  • The tpm cert info command now provides better error messages when a specifiedtypeSpec file does not exist.
    Issue: CT-2530
  • The tpm ask command now returns the appropriate values for keys: stagingdir,stagingpath, staginghost and staginguser.

    Additionally, the tpm ask staging command will return a JSON structure with all values. All values are the same as the output of the tpm query-staging command, just presented differently for easier machine usage.

    Issue: CT-2510
  • A new cli argument has been added (--apiver 8) to allow the tapi command to use APIv8. By default, tapi will continue to use APIv2 against v8 installations, using the--apiver 8 option is experimental and should be used with care. Full APIv8 functionality will be included in tapi in a future release.
    Issue: CT-2456
  • The tpm command now allows hyphens in dataservice names.
    Issue: CT-2453
  • Removed sigtrap module dependency from tungsten_find_orphaned.
    Issue: CT-2451
  • The tungsten_send_diag command 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
    • --primary and --create-primary as an additional alias for -c
    • -C, --mysqlclone as aliases for -m mysqlclone
    • -D, --mysqldump as aliases for -m mysqldump
    • -R, --rsync as aliases for -m rsync
    • -X, --xtrabackup as 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 tprovision when parallel apply is in use.
    Issue: CT-2275

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=xxx and must have the same name in both tungsten_keystore andtungsten_connector_keystore.
    Issue: CT-2598

Core Clustering (1)

  • Manager and Replicator now get higher CPU priority (-9 nice value) through systemd configuration file. When not using systemd, 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 (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Security (1)

  • tungsten_mysql_ssl_setup incorrectly 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 (13)

Command-line Tools (7)

  • The tpm ask command will now convert values 0 and false toNo and values 1 and true to Yes as human output when given --human or -n cli args.
    Issue: CT-2559
  • The tpm ini command now handles all new tpm options.
    Issue: CT-2543
  • The tpm diag command now gathers the output of the tpm ini check -xcommand as the tpmINICheck call.
    Issue: CT-2499
  • A new -z option has been added to tprovision which will enable compression when using the rsync method.
    Issue: CT-2489
  • The tpm cert command will now handle public key files. The command tpm cert gen public will create $CONTINUENT_HOME/generated/tungsten_public.jks from the$CONTINUENT_HOME/share/tungsten_keystore.jks file and thetpm cert list public command will show the contents, etc.
    Issue: CT-2434
  • The tpm ask command now supports the -s|--service option for dsrole, dsstate, trrole and trstate keys.

    The option alias for --short is now -S (capitalized), was previously lower-case.

    Example:

    tpm ask dsrole --service alpha
    Issue: CT-2400
  • When using the -m rsync option with tprovision, the rsync command now includes the oStrictHostKeyChecking=no options.
    Issue: CT-2348

Core Replicator (5)

  • The trepctl perf output has been improved when parallel apply is enabled to show granular statistics per channel.
    Issue: CT-2517
  • A new thl apply command 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 applying field has been added to the output of trepctl reset.
    ...
    applying : 3 / 0 (92.86%)
    ...
    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.0 :
    applying.1 : 25 / 0 (92.86%)
    ...
    Issue: CT-2315
  • Replicator now recognizes the new MySQL 8.4 show binary log status syntax (as well asshow master status) and will execute the configured replacement request appropriately.
    Issue: CT-2291
  • Introduced a new cloud-install tpm flag that will skip checks for hostname entry in /etc/hosts, allowing smoother installations against cloud based sources or targets such as Amazon Aurora or Google Cloud SQL.
    Issue: CT-2317

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

Bug Fixes (29)

Installation and Deployment (3)

  • tpm flags datasource-log-directory and repl-direct-datasource-log-directory will now use the value of each other as a default if only one is specified
    Issue: CT-2425
  • The tpm update command 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 (22)

  • The tpm cert info command now properly handles all available typeSpecs.
    Issue: CT-2532
  • The tpm cert aliases --running command now properly handles thetls_passwordstore and jmx_passwordstore typeSpecs.
    Issue: CT-2512
  • Fixes an issue where dsctl set with the -reset option 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
  • The tungsten_send_diag command now handles curl and aws s3 errors separately and displays the proper message back.
    Issue: CT-2488
  • 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 version and tpm ask versions commands now display values.
    Issue: CT-2475
  • tprovision will now correctly handle, and support, SELinux if enabled.
    Issue: CT-2473
  • Fixed an issue where the database could potentially get locked in certain cases when using thersync method with tprovision
    Issue: CT-2470
  • executable-prefix is now applied to the deployall and undeployall script names. For example, whenexecutable-prefix=mm, deployall would be named mm_deployall.
    Issue: CT-2467
  • The tpm keep command is now properly called by tpm uninstall, and a regression in a call to the mysql cli has been fixed as well.
    Issue: CT-2462
  • The tpm update command now properly identifies and removes services with mixed-case service names.
    Issue: CT-2426
  • tpm now properly detects MariaDB default settings.
    Issue: CT-2424
  • The tapi command now accepts non-standard ports on the command line, and also properly accepts a user/password pair on the CLI.
    Issue: CT-2420
  • The tapi command now creates proper URL's for these standard endpoints when-C, -M or -R are specified along with one of the following strings: ping, tungstenVersion, createAdminUser,deleteAdminUser, listAdminUsers, rmiSecurity or user.
    Issue: CT-2391
  • The tpm check ports and tpm check ports -c commands 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|--replicator or -c|--cluster.
    Issue: CT-2356
  • The tpm diag command no longer displays a NOTICE for missing optional files.
    Issue: CT-2355
  • tprovision was incorrectly setting to the MySQL datadir to tungsten group ownership.
    Issue: CT-2322
  • The tpm diag command now properly gathers the uptime command.
    Issue: CT-2319
  • The tpm uninstall command now properly calls the tpm keep command for standalone Tungsten Replicator deployments.
    Issue: CT-2436
  • The tpm diag command now correctly connects to an off-host database when run under standalone Tungsten Replicator.
    Issue: CT-2402
  • The tpm diag command now gathers:
    • tungsten-replicator/log/replicator-api.log
    Issue: CT-2397
  • The tpm update command now properly deletes services when run in a standalone Tungsten Replicator deployment.
    Issue: CT-2383

Core Replicator (2)

  • 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_unsafe
    Issue: CT-2405

MongoDB Replication (1)

  • The replicator now reads the TLS certificate for Mongo Atlas connectivity from the correct keystore (tungsten_truststore.ts)
    Issue: CT-2227

API (1)

  • Fixed an issue where a component (replicator/connector) stopped through through the API would wrongly indicate "unable to stop".
    Issue: CT-2515

Tungsten Dashboard 8.0

Tungsten Dashboard 8.0.4

Build: 67
Release Date: 10 Mar 2026
Release 8.0.4 contains a number of bug fixes and improvements to usability.

Improvements, new features and functionality (7)

Installation and Deployment (3)

    • Kubernetes installation script now allows user to enter certificate key and file to automatically create Kubernetes secret into dashboard namespace.
    • Kubernetes installation no longer requires user to manually enter tls secret and domain details in to the helm values file. They will be automatically filled by the install script.
    Issue: TD2-272
  • Kubernetes installation now prompts user to add Tungsten clusters to the Dashboard. By providing namespace details and selecting the correct Kubernetes service a cluster can be added to the dashboard with the install script if the Tungsten cluster was installed inside the same Kubernetes cluster as the dashboard
    Issue: TD2-271
  • The install script now lets you choose which namespace the dashboard is deployed into, defaulting to tungsten-dashboard, and detects conflicts when a dashboard already exists in a different namespace
    Issue: TD2-266

General usability and Performance (4)

    • Updated cluster status icons for topology warnings.
    • The "Fetch Certs" action now displays a pending message while the operation is in progress.
    • SSL status icon now shows a more specific tooltip indicating whether TCP, API, or both connections are unsecured.
    Issue: TD2-287
    • Added a compact layout mode that reduces cluster row height and spacing for a denser overview; toggle between compact and relaxed layout via the submenu toolbar.
    • Replaced the fixed simple/advanced view toggle with a column selector dropdown in the table header, allowing users to show or hide individual columns (replicator state, latencies, sequence numbers, pipeline, etc.).
    • Column visibility and layout preferences are persisted in local storage across sessions.
    Issue: TD2-284
  • Added host:port syntax support and smart port inference to getcert.pl
    Issue: TD2-279
  • Diagnostic tool now collects dynamic/clusters.edn content in Docker dashboard diagnostics.
    Issue: TD2-277

Bug Fixes (10)

Installation and Deployment (6)

    • Fixed Kubernetes installer to correctly report deployment failures instead of showing misleading "Installation completed!" messages.
    • Added automatic StorageClass detection and configuration to prevent pods from getting stuck in Pending state on clusters without a default StorageClass.
    Issue: TD2-288
  • Feature for fetching certificates automatically now works for hybrid SSL setups. Improved connections handling for clusters with hybrid SSL.
    Issue: TD2-282
  • Kubernetes install did not store repository and registry information correctly into helm values.yaml file. New system stores registry and repository into separate fields in the file.
    Issue: TD2-273
  • Kubernetes installation's "wait for available" condition has had its timeout increased from 30 to 60 seconds to reduce timeout errors at the last step of Kubernetes installations.
    Issue: TD2-269
  • Kubernetes & docker install no longer prints invalid https url at the end of the installation process when https was not enabled
    Issue: TD2-268
  • Kubernetes installation no longer modifies values.yaml file after user has been prompted to validate it
    Issue: TD2-267

General usability and Performance (4)

  • REST URL construction now validates that a target host is present before making a call, providing a clear error message instead of a cryptic HTTP client failure.
    Issue: TD2-283
  • Improved error handling around cluster actions. System now shows more clear errors if host data is missing or corrupted.
    Issue: TD2-281
  • Fixed a bug where a failed REST status poll could erase service connection options, causing subsequent commands to produce malformed URLs.
    Issue: TD2-280
  • Fixed a bug where a failed initial connection to a node with an unresolvable hostname could corrupt cluster state, causing subsequent commands to fail with a missing host target
    Issue: TD2-276

Tungsten Dashboard 8.0.3

Build: 46
Release Date: 13 Jan 2026
Release 8.0.3 contains a number of bug fixes and improvements to usability.

Improvements, new features and functionality (6)

General usability and Performance (6)

  • Three new ways to fetch certificates from the cluster have been introduced, specifically to assist when certificate rotation has happened within the cluster. These are as follows:
    • via “Edit cluster” form with explicit “Fetch Certificates” button in “SSL” sub-form
    • via cluster level menu item “Fetch Certificates”
    • via warning icon in cluster row when connection error is detected
    Issue: TD2-264
  • Cluster connections popup improvements
    Issue: TD2-262
  • Add/edit cluster form UX improvements
    Issue: TD2-259
  • Dashboard screen Clusters sorting now mirrors sorting settings from the Clusters screen
    Issue: TD2-256
  • Add/edit cluster form now has a 'Reset' button on each section allowing you to clear all fields in the form section
    Issue: TD2-220
  • UI elements position and styling fixes
    Issues: TD2-261, TD2-255, TD2-195

Bug Fixes (2)

General usability and Performance (2)

  • Fixed a bug with repeated installations failing when trying to generate new self-signed certificates
    Issue: TD2-265
  • Composite Active/Active clusters locking mechanism fixed.
    Issue: TD2-263

Tungsten Dashboard 8.0.2

Build: 72
Release Date: 6 Oct 2025
Release 8.0.2 contains a number of bug fixes and improvements to usability.

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:

General usability and Performance (4)

  • The install script now determines whether to use docker-compose command or thedocker compose plugin automatically. docker-compose is not required anymore, when the docker compose plugin is installed.
    Issue: TD2-236
  • When adding a cluster, you can now progress through the form in steps using both “Next” button or Enter key.
    Issue: TD2-231
  • Light/dark UI theme is now configurable in the Configuration screen.
    Issue: TD2-216
  • Filtering clusters using search box is now case insensitive.
    Issue: TD2-208

Improvements, new features and functionality (4)

General usability and Performance (4)

  • The tool collect-diag.pl has been included in the installation directory and serves for collecting diagnostic information packages, useful for support cases.
    Issue: TD2-240
  • The getcert script can now output the certificated encoded in base64 by specifying the new --base64 option.
    Issue: TD2-224
  • The Install script now has a new option --reset, which resets configuration the files to their default state. Please use this option if your configuration is broken and you want to start with clean (default) configuration files. If updating an environment installed using docker compose from insecure to secure configuration, please use this new flag and start by specifying the configuration again.
    Issue: TD2-223
  • Improvements made to the performance of parallel connection initialization to clusters
    Issue: TD2-180

Bug Fixes (14)

Installation and Deployment (1)

  • Docker Compose installation method now offers to generate self-signed certificate for https connection. However this solution is only for development / testing and not recommended to use for production!
    Issue: TD2-239

General usability and Performance (13)

  • Add cluster button is now visible in Dashboard widgets screen all the time.
    Issue: TD2-260
  • Install script detects existing dashboard docker volume and offers user adequate solution to avoid corrupting existing data
    Issue: TD2-248
  • The following issues are now fixed:
    • Adjusted timeouts to cluster connections so that connections to unresponsive servers timeout faster.
    • Discovering the cluster topology no longer requires all clusters to respond or time out before updates are shown in the browser.
    • Cluster connection to existing clusters during first status check is now asynchronous. Unresponsive clusters no longer prevent other connections from forming.
    • If a cluster is removed while http request is happening, the results of those requests are properly ignored, preventing empty clusters from showing.
    Issue: TD2-245
  • Namespace label is now shown next to a cluster in Clusters sidebar menu
    Issue: TD2-244
  • Connections per connector node and connection summaries now works properly with Tungsten Clusters version 8.0.1+
    Issue: TD2-243
  • Cluster coordinators aggregation and presentation fixes
    Issue: TD2-241
  • When adding a new cluster and pressing "Test connection" at the end of the form, all connection errors are shown above the button. Additionally, if testing the connection for a Tungsten Cluster running an older release (pre v8.0.0), the relevant error is also shown.
    Issue: TD2-238
  • Namespace label is now visible in the Dashboard main screen cluster widgets, and invalid clusters. Namespace label serves also as a fast filter/link to search all clusters within specific namespace
    Issue: TD2-235
  • Minor UI graphical changes and fixes
    Issue: TD2-234
  • General design fixes and improvements
    Issue: TD2-232
  • Standalone cluster now shows current coordinator on a service level view.
    Issue: TD2-230
  • Unreachable clusters do not block healthy clusters anymore, when initializing the application
    Issue: TD2-228
  • Search box now properly reflects URL query and filters section state
    Issue: TD2-192

Tungsten Dashboard 8.0.1

Build: 82
Release Date: 14 Jul 2025
Release 8.0.1.

Improvements, new features and functionality (10)

Behavior Changes (8)

  • New fast action "Add cluster" button is available in the submenu of the Clusters screen
    Issue: TD2-211
  • values.yaml file syntax has been unified. All keys are now camelCase, originally cluster definition was kebab-case.
    Issue: TD2-200
  • Improved the logic on how the Dashboard displays labels and colours depending on clusters and hosts states and statuses
    Issue: TD2-194
  • Dashboard fronted<>backend communication has been improved
    Issue: TD2-141
  • All forms across the UI are improved for better and smother usability. Additionally, when adding a new cluster, certification details are automatically fetched upon selecting the SSL config tab.
    Issue: TD2-117
  • Show Cluster List in Dashboard sidebar, for Composite clusters, also shows services
    Issue: TD2-87
  • Fixed outdated packages in Dashboard frontend which might represent vulnerabilities
    Issue: TD2-79
  • Tungsten Dashboard now supports virtual groups for clusters, to reflect Dynamic Datasource Groups
    Issue: TD2-40

Installation and Deployment (2)

  • The install.pl now supports a wider range of CPU architectures. The architecture is automatically detected from the output of the uname command, however should this return a value that is unexpected, the user can manually provide the appropriate image.
    Issue: TD2-221
  • The install.pl can now be used to upgrade the Tungsten Dashboard release, additionally, The environment configuration can also be updated using the same script.
    Issue: TD2-214

Bug Fixes (1)

General usability and Performance (1)

    • Improved websocket responsiveness, clusters are now loaded faster on startup.
    • Bad cluster connection details no longer delays broadcasting of healthy cluster data.
    Issue: TD2-221

Tungsten Dashboard 8.0.0

Build: 42
Release Date: 28 Apr 2025
Release 8.0.0 marks a new major release of the Dashboard. Completely re-written and re-designed to be more performant and provide the ability to work alongside Tungsten Clustering solutions launched with Tungsten Operator within Kubernetes.

Tungsten Operator 8.0

Tungsten Operator 8.0.0

Build: 27
Release Date: 6 May 2025
Release 8.0.0 marks the first release of the Tungsten Operator.

Version 7

Tungsten Clustering 7.2

Tungsten Clustering 7.2.1

Build: 40
Release Date: 3 Feb 2026
Release 7.2.1 contains a number of key bug fixes and improvements.

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:

Installation and Deployment (1)

  • tpm now only reads /etc/tungsten/tungsten.ini (no longer looking in $HOME directory and /etc/tungsten.ini) For a different path, different filename or multiple files, use the --ini supplying a comma-separated list
    Issue: CT-2612

Command-line Tools (3)

Improvements, new features and functionality (7)

Installation and Deployment (1)

  • New feature: tungsten.ini backup and history. When enabled with the tpm flag tungsten-ini-backup (false by default), the tpm update command will create a copy of the current INI file (default: /etc/tungsten/tungsten.ini) as$CONTINUENT_ROOT/history/ini/tungsten.ini.YYYYMMDDhhmmssWhen enabled with the tpm flag tungsten-ini-backup, the tpm install command will create the first history file and the history subdir, if needed. A new sub-command, tpm ini diff has been added to compare the current INI file (default: /etc/tungsten/tungsten.ini) and a history file (default: latest history file found), and can also accept --stamp [YYMMDDhhmmss] to specify which file to diff by timestamp. A new sub-command, tpm ini backup has been added to manually invoke the same copy that the tpm update command does. Added two new tpm configuration flags:
    Issue: CT-2635

Command-line Tools (5)

  • New feature tpm copy --example will show the manual steps taken by tpm copy --initto copy the cluster certificate files to other nodes.
    Issue: CT-2636
  • A new subcommand tpm ini defaults has been added to list any tpm option that actually has a default value defined in the tools/tpm_options_db.txt file, along with the default value. Additionally, documentation has been updated to show defaults and options for all properties where applicable.
    Issue: CT-2634
  • New tpm flag --add-ssl now allows to force generate certificates when doing an upgrade. This allows configurations with security disabled to be upgraded to 8.0.1 AND switched to using SSL/TLS communications at the same time. Example:
    shell> tools/tpm update --replace-release --add-ssl
    Issue: CT-2619
  • The tpm ini check command now validates composite topologies.
    Issue: CT-2066
  • New Feature: tpm ini upgrade --ini [fullpath] will display all changes to the specified INI file that would be performed by the tpm update commands during a version upgrade. Adding the --write argument would apply the changes to the specified file as well.
    Issue: CT-2601

Core Replicator (1)

  • The replicator now includes real-time performance monitoring to track and identify slow database operations during replication. The feature provides visibility into transaction, event, and statement execution times with configurable thresholds for alerting. For more information on configuring and using this feature, see "The trepctl perflog Command"
    Issue: CT-2629

Bug Fixes (16)

Installation and Deployment (1)

  • Fixed an installation issue when using MariaDB 10.6 with SSL. Previously, this would have failed to install showing an error message like :
    Unable to connect to the MySQL server using tungsten@db1:13306 (WITH PASSWORD) (MySQLLoginCheck)
    Issue: CT-2624

Command-line Tools (3)

  • The tprovision command now correctly honors the mountpoint override flag when not using method rsync.
    Issue: CT-2651
  • The tpm cert gen command now works during version upgrades when a security configuration file may not have existed before (passwords.store).
    Issue: CT-2618
  • The tungsten_send_diag now uses AWS Signature Version 4 to upload files.
    Issue: CT-2589

Backup and Restore (1)

  • Fixed an edge case issue with xtrabackup running against the primary node and MySQL 8+.
    Note
    Generally we do not recommend taking backups from primary nodes, and instead backups should be taken from replicas.
    Issue: CT-2602

Core Replicator (2)

  • With recent SELinux changes, MySQL might be unable to read from /tmp. This directory is used when applying a LOAD DATA INFILE command that was logged using Statement Based Replication (warning : this is considered as unsafe by MySQL). In order to avoid any issues, a new setting has been added to indicate a directory to use : svc-applier-ldi-temp-dir=/tmp/mysqltmpIn this case, mysqltmp is a new subdirectory that should be set with the following permissions and SELinux context
    mkdir -p /tmp/mysqltmp
    sudo chown -R mysql: /tmp/mysqltmp
    sudo chmod -R g+r /tmp/mysqltmp
    sudo semanage fcontext -a -t mysqld_db_t '/tmp/mysqltmp(/.*)?'
    sudo restorecon -Rv /tmp/mysqltmp
    Another improvement was also added to force the use of LOCAL when applying a LOAD DATA INFILEcommand that was logged using SBR. This is useful when applying to a remote MySQL host. To enable, set the value of the svc-applier-ldi-use-local=true (default : false)
    Issue: CT-2603
  • Fixed an issue where timestamp columns would not match between source and target when using theprivileged-slave=false property to replicate from a source database using MIXED binlog mode.
    Issue: CT-2594

Connector (6)

  • Fixed a null pointer exception error showing up in rare cases at startup time.
    Issue: CT-2656
  • Fixed issue introduced by CT-2511 (dual certificate support) where the keystore was reloaded at every new connection.
    Issue: CT-2652
  • Connector configuration files to execute Tungsten-specific show slave status request now get the right schema to select from.
    Issue: CT-2639
  • In rare cases, a synchronization issue would prevent the connector from recovering from a site outage.
    Issue: CT-2633
  • Fixed an issue in the Drizzle driver that could cause memory errors when handling large string parameters.
    Issue: CT-2627
  • No longer printing broken pipe errors (typically generated by haproxy or hardware loadbalancer checks) whenprintConnectionWarnings=false (the default)
    Issue: CT-2576

Core Clustering (1)

  • Recent Java versions changed a default that now enable endpoint identification in secured RMI calls. As a quick turnaround, this release restores the default of disabling identification in various Tungsten scripts.
    Issue: CT-2666

Security (1)

  • Upgraded jackson libraries to latest version to plug potential security holes.
    Issue: CT-2655

Manager (1)

  • If a cluster was idle for more than 15 minutes and a failure occurred, the failover would fail to complete
    Issue: CT-2637

Tungsten Clustering 7.2.0

Build: 84
Release Date: 8 Jul 2025
Release 7.2.0 contains a number of key bug fixes and improvements, along with the upgrade of log4j libraries.

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_check and tungsten_provision_thl have been deprecated and will be removed in a future release
    Issue: CT-2506

Behavior Changes (10)

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 (2)

  • tpm validate now verifies localhost is defined in /etc/hosts
    Issue: CT-2564
  • All Tungsten Components now use log4j version 2.
    Issues: CT-1410, CT-1412

Command-line Tools (4)

  • The tpm cert info command now provides better error messages when a specifiedtypeSpec file does not exist.
    Issue: CT-2530
  • The tpm ask command now returns the appropriate values for keys: stagingdir,stagingpath, staginghost and staginguser.

    Additionally, the tpm ask staging command will return a JSON structure with all values. All values are the same as the output of the tpm query-staging command, just presented differently for easier machine usage.

    Issue: CT-2510
  • Removed sigtrap module dependency from tungsten_find_orphaned.
    Issue: CT-2451
  • The tungsten_send_diag command has been updated with new security keys and the ability to accept security keys on the CLI.
    Issue: CT-2438

Connector (1)

Security (2)

  • As of version 7.2.0 onwards, when providing custom keystores, the alias of the mysql certificate must be provided as java-mysql-alias=xxx and must have the same name in both tungsten_keystore andtungsten_connector_keystore.
    Issue: CT-2598
  • Now providing adequate error message when TLS certificates differ between connector and managers, or when manager refuses the SSL handshake.
    Issue: CT-2579

API (1)

  • The Manager APIv2 now returns a 404 error instead of 500 when a task status is requested for a TaskID that does not exist inside that Manager process.
    Issue: CT-2430

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Security (1)

  • tungsten_mysql_ssl_setup incorrectly 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 (13)

Installation and Deployment (1)

Command-line Tools (6)

  • The tpm ask command will now convert values 0 and false toNo and values 1 and true to Yes as human output when given --human or -n cli args.
    Issue: CT-2559
  • The tpm ini command now handles all new tpm options.
    Issue: CT-2543
  • The tpm diag command now gathers the output of the tpm ini check -xcommand as the tpmINICheck call.
    Issue: CT-2499
  • The tpm cert command will now handle public key files. The command tpm cert gen public will create $CONTINUENT_HOME/generated/tungsten_public.jks from the$CONTINUENT_HOME/share/tungsten_keystore.jks file and thetpm cert list public command will show the contents, etc.
    Issue: CT-2434
  • The tpm ask command now supports the -s|--service option for dsrole, dsstate, trrole and trstate keys. The option alias for --short is now -S (capitalized), was previously lower-case. Example:
    tpm ask dsrole --service alpha
    Issue: CT-2400
  • The new tpm ini command allows for easy creation, checking and administration of the &definifile; configuration file.
    Issue: CT-2366

Core Replicator (2)

  • The trepctl perf output has been improved when parallel apply is enabled to show granular statistics per channel.
    Issue: CT-2517
  • Replicator now recognizes the new MySQL 8.4 show binary log status syntax (as well as show master status) and will execute the configured replacement request appropriately.
    Issue: CT-2291

Connector (2)

  • Connector now recognizes the new MySQL 8.4 show replica status syntax (As well as show 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

Security (1)

  • Tungsten can now hold two MySQL database SSL Certificates, allowing rotation of certificates without the need for downtime. A new command line tool, rotate_certs, is provided to aid in this process.
    Issue: CT-2511

Monitoring (1)

  • Additional prometheus metrics have been added to the Replicator:
    • tungsten_replicator_service_online_duration_seconds gauge show duration in seconds since the replicator was put online.
    • tungsten_replicator_task_total counter shows statistics by service, stage and task as shown in the following example:
      tungsten_replicator_task_total{service="alpha",stage="q-to-dbms",task_id="1",stat="extract_time",} 250.015
      In this case, this is the extract time spent by the task #1 of the q-to-dbms stage of the alpha service. This is similar to the new trepctl perf output.
    Issue: CT-2514

Bug Fixes (27)

Installation and Deployment (2)

Command-line Tools (19)

  • The tapi command no longer issues an error when the quantity of command-line arguments is larger than expected.
    Issue: CT-2580
  • The tpm purge-thl command now works properly when run against environments where there are multiple THL files, but the lowest seqno returned exists in the very first THL file.
    Issue: CT-2561
  • The tpm cert info command now properly handles all available typeSpecs.
    Issue: CT-2532
  • The tpm cert aliases --running command now properly handles thetls_passwordstore and jmx_passwordstore typeSpecs.
    Issue: CT-2512
  • Fixes an issue where dsctl set with the -reset option 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
  • The tungsten_send_diag command now handles curl and aws s3 errors separately and displays the proper message back.
    Issue: CT-2488
  • 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 version and tpm ask versions commands now display values.
    Issue: CT-2475
  • executable-prefix is now applied to the deployall and undeployall script names. For example, whenexecutable-prefix=mm, deployall would be named mm_deployall.
    Issue: CT-2467
  • The tpm keep command is now properly called by tpm uninstall, and a regression in a call to the mysql cli has been fixed as well.
    Issue: CT-2462
  • The tpm update command now properly identifies and removes services with mixed-case service names.
    Issue: CT-2426
  • tpm now properly detects MariaDB default settings.
    Issue: CT-2424
  • The tapi command 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_status command now passes the correct number of arguments to theprintf function in various places, preventing "Redundant argument" warnings.
    Issue: CT-2407
  • The tpm delete-service and tpm update commands now correctly remove Composite Active/Active cross-site subservices from cctrl
    Issue: CT-2404
  • The tpm diag command now gathers:
    • tungsten-replicator/log/replicator-api.log
    • tungsten-connector/log/connector-api.log
    • tungsten-manager/log/manager-api.log
    Issue: CT-2397
  • The tapi command now creates proper URL's for these standard endpoints when-C, -M or -R are specified along with one of the following strings: ping, tungstenVersion, createAdminUser,deleteAdminUser, listAdminUsers, rmiSecurity or user.
    Issue: CT-2391
  • The tpm check ports and tpm check ports -c commands 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|--replicator or -c|--cluster.
    Issue: CT-2356
  • The tpm diag command no longer displays a NOTICE for missing optional files.
    Issue: CT-2355

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_unsafe
    Issue: CT-2405

Connector (3)

  • The tpm delete-service command 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 latency connector intercept.
    Issue: CT-2554
  • Fixed an issue with PHP and caching_sha2_password when 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 set property=defaultAuthPlugin=mysql_native_password within /etc/tungsten/tungsten.ini.
    Issue: CT-2471

Tungsten Clustering 7.1

Tungsten Clustering 7.1.4

Build: 10
Release Date: 1 Oct 2024
End of Life Date: 7 Jul 2026
Release 7.1.4 contains a number of key bug fixes and improvements.
Warning
Due to JGroup libraries being updated in the 7.1.0 release, managers running releases older than 7.1.0 will not communicate with managers running 7.1.0+ therefore when upgrading to this release from anything older than 7.1.0, 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 (5)

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 (4)

  • The tpm purge-thl command is now Composite Cluster-aware.
    Issue: CT-2343
  • The tpm copy command now accepts the --install argument as an alias for --share
    Issue: CT-2332
  • The check_tungsten_progress command now aborts with exit code 3 and displays the UNKNOWN status when run on Witness nodes
    Issue: CT-2320
  • Global calls to sudo in tpm are now sensitive to the tpm option and aliasroot-command-prefix/enable-sudo-access when set to false
    Issue: CT-2310

Monitoring (1)

  • Tungsten monitoring scripts no longer rely upon the bc command, removing the dependency because recent distros do not havebc available
    Issue: CT-2371

Improvements, new features and functionality (7)

Command-line Tools (6)

  • The tpm diag command now gathers show global status; from the MySQL server
    Issue: CT-2387
  • The tpm diag command now gathers service_logs/tprovision.log and service_logs/trestore.log, if they exist
    Issue: CT-2385
  • The tungsten_find_orphaned command now accepts the --sql option when using the --epoch option for Scenario 2. This will output the full SQL statements instead of just the headers. For use with --epoch only. Not available with ROW-based replication, only with STATEMENT or MIXED.
    Issue: CT-2345
  • The tpm diag command now gathers the output of crontab -l.
    Issue: CT-2344
  • Added the -last and -first options to thl dsctl command
    Issue: CT-2318
  • The tpm diag command now gathers the mount and hostname commands.
    Issue: CT-2314

Filters (1)

  • A new maskData filter has been added, allowing basic level data obfuscation capabilities.
    Issue: CT-849

Bug Fixes (8)

Command-line Tools (5)

  • The tpm check ini command now honors the --short and --valid options
    Issue: CT-2373
  • The tpm cert command now easily imports certificate bundles into various files, and correctly reads a file name as the propertypeSpec in various subcommands.
    Issue: CT-2369
  • The tpm copy --doini command now functions properly from the staging directory before the initial installation of Tungsten.
    Issue: CT-2362
  • The tungsten_mysql_ssl_setup command no longer tries to ls any .p12 file unless --p12 has been given on the cli.
    Issue: CT-2357
  • The tpm check ini command now properly handles property= INI entries.
    Issue: CT-2352

Core Replicator (3)

  • Fixed a bug in latency calculations that in some circumstances could appear as though the latency on the applier stages was "flapping".
    Issue: CT-2386
  • Fixed an issue where the replicator was not able to build a valid DELETE statement, when enable-heterogeneous-service=true.
    Issue: CT-2379
  • Fixed a bug preventing the auto-recovery feature to put the service back online if it failed to connect to database during a retry
    Issue: CT-2377

Tungsten Clustering 7.1.3

Build: 3
Release Date: 25 Jun 2024
End of Life Date: 7 Jul 2026
Release 7.1.3 contains a number of key bug fixes and improvements.
Warning
Due to JGroup libraries being updated in the 7.1.0 release, managers running releases older than 7.1.0 will not communicate with managers running 7.1.0+ therefore when upgrading to this release from anything older than 7.1.0, 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 (10)

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 (10)

  • Improved support for the --nosudo argument and the sudo command in tpm diag
    Issue: CT-2308
  • The default port in tpm generate-haproxy-for-api has been updated to 8201
    Issue: CT-2282
  • The tapi command option now prints a much easier-to-understand URL when specifying the -U option
    Issue: CT-2279
  • The tapi command Connector router module support has been removed
    Issue: CT-2277
  • The tpm cert command now accepts an absolute path filename as a typeSpec
    Issue: CT-2268
  • The tpm cert command now accepts --basedir and --certsdir as aliases for --dir to specify the target directory for generation
    Issue: CT-2267
  • The tpm diag command now checks the my_print_defaults command for the MySQL error log value if the direct querySELECT @@GLOBAL.log_error; fails to gather a value for any reason.
    Issue: CT-2229
  • All scripts that call cctrl have been updated to use cctrl -no-routers when possible to improve performance
    Issue: CT-2228
  • The tpm update command now checks for a custom passwords.store file in the INI and exits with an error if the running file does not match the custom file.
    Issue: CT-2216
  • The tpm cert command now properly accepts the full file name as a typeSpec.
    Issue: CT-2213

Improvements, new features and functionality (7)

Installation and Deployment (2)

  • Oracle Linux 9 has been certified for Tungsten products from version 7.1.3.
    Issue: CT-2370
  • Added support for Ruby 3.2.
    Issue: CT-2296

Command-line Tools (4)

  • Added new tpm check ports command which will check port connectivity for standard Tungsten ports to a specified host
    Issue: CT-2292
  • tpasswd utility gets a new switch -C or --compare.to allowing password store file comparison for tpm update purpose.
    Issue: CT-2278
  • A new command has been added, tpm check ini, that will validate all options present in a tungsten.ini file. This command can be run prior to installation.
    Issue: CT-2240
  • Improved help text in the tpm cert command.
    Issue: CT-2222

Connector (1)

  • In proxy mode, kill queries are now intercepted by the connector in order to replace the given thread_id by the underlying database connection thread_id.
    Note
    While executing the kill command, you might get an error like "Could not execute query kill query <id>: Unknown thread id:<id>". This can be ignored, the connection will still be properly killed.
    Issue: CT-2298

Bug Fixes (8)

Installation and Deployment (1)

Command-line Tools (5)

  • The tpm report command now displays channel 2 output properly when in Bridge mode
    Issue: CT-2294
  • The tpm cert command now works correctly with the share/tungsten.env configuration file prior to installation
    Issue: CT-2255
  • Fixes a regression in tpm cert that prevented BASE_DIR in tungsten.env from being used properly.
    Issue: CT-2237
  • All tpm commands now use the --force and -f arguments consistently
    Issue: CT-2224
  • The tpm cert and tpm copy commands now work from the staging directory before Tungsten is installed
    Issue: CT-2181

Monitoring (2)

  • The check_tungsten_progress command now behaves properly on witness nodes by exiting with an error CRITICAL: Replicator is not installed on Witness nodes.
    Issue: CT-2301
  • The zabbix_tungsten_online monitoring tool now properly supports active witnesses
    Issue: CT-2300

Tungsten Clustering 7.1.2

Build: 81
Release Date: 13 May 2024
End of Life Date: 7 Jul 2026
Release 7.1.2 contains a number of key bug fixes and improvements.
Note
v7.1.2 was re-released as build 81 on 13 May 2024 to fix two critical bugs that exist in the original build 42 release (CT-2284, CT-2285).
Warning
Due to JGroup libraries being updated in the 7.1.0 release, managers running releases older than 7.1.0 will not communicate with managers running 7.1.0+ therefore when upgrading to this release from anything older than 7.1.0, 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 (1)

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 (1)

  • The systemd startup scripts will now have a dependency on the time-sync service (if available) being started before tungsten components.
    Issue: CT-2257

Improvements, new features and functionality (4)

Installation and Deployment (1)

Command-line Tools (2)

Filters (1)

  • A new filter, binarystringconversion, was added to provide a way to convert varchar data from one charset into another.
    Issue: CT-981

Bug Fixes (9)

Installation and Deployment (1)

Command-line Tools (1)

  • The tpm diag command no longer errors out on witness hosts installed with the Staging method
    Issue: CT-2262

Core Replicator (3)

  • Event extraction can sometimes generate an empty fragment (for a multi fragment transaction). This in turn can lead to bad shard detection. While empty fragment is expected, shard detection will now use the last non-empty fragment.
    Note
    This bug was detected in v7.1.2 build 42, and fixed in v7.1.2 build 81
    Issue: CT-2284
  • Fixed an issue caused by a MySQL behavior change in how a DROP TABLE is logged in the binlog, that made the replicator unable to identify correctly if the query had tungsten metadata in it.
    Issue: CT-2269
  • Fixed an issue where the shard name of an event could be badly identified, which could potentially lead to deadlocks when parallel applier was enabled
    Issue: CT-2266

Connector (2)

  • Fixed a bug where any new connection to the connector would trigger a call to hostname, potentially exhausting CPU resources.
    Note
    This bug was detected in v7.1.2 build 42, and fixed in v7.1.2 build 81
    Issue: CT-2285
  • Fixed an issue where some applications won't be able to connect to the connector under bridge mode and IP filtering in place through authorized_hosts.
    Issue: CT-2261

Manager (2)

  • Fixes a bug that would cause a switch to fail if the cluster had been idle for more than 15 minutes.
    Issue: CT-2263
  • Fixes an issue with data source monitoring when client and server don't share the same default authentication plugins.
    Issue: CT-2233

Tungsten Clustering 7.1.1

Build: 42
Release Date: 15 Dec 2023
End of Life Date: 7 Jul 2026
Release 7.1.1 contains a number of key bug fixes including one majoe bug fix that prevents switches from working correctly after upgrading from v6.
Warning
Due to JGroup libraries being updated in the 7.1.0 release, managers running releases older than 7.1.0 will not communicate with managers running 7.1.0+ therefore when upgrading to this release from anything older than 7.1.0, 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 (2)

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 (1)

  • The tpm diag command now collects ps -aux output in addition to ps -efl when possible
    Issue: CT-2119

Connector (1)

  • Changed default value of mgr-policy-fence-slave setting so that a replica data source is put offline 60s after its replicator goes offline. This change will prevent routing traffic to replicas that are stale.
    Issue: CT-2096

Improvements, new features and functionality (2)

Command-line Tools (2)

  • The tpm mysql command now accepts the --force argument to function on Witness nodes that have a running database.
    Issue: CT-2180
  • The tapi command now supports the ?no-connectors=1 argument in APIv2 via the new cli argument --no-connectors
    Issue: CT-2174

Bug Fixes (7)

Installation and Deployment (1)

  • Installations will now succeed on hosts running Ruby 3.x
    Issue: CT-2196

Command-line Tools (3)

  • The tpm mysql command now properly accepts the -e argument as a shortcut for the --execute mysql cli client argument.
    Issue: CT-2217
  • The tpm update command no longer fails to display foreign-owned dot-files and directories.
    Issue: CT-2190
  • The tpm report command now correctly displays security info tpm options as blank when none exists.
    Issue: CT-2176

Manager (3)

  • Fixed a bug when upgrading from 6.x to 7.x that prevented switches/failovers from working. Also the change ofdatasource-group-id in the INI will now be correctly reflected after a tpm update.
    Issue: CT-2236
  • v6 API configuration properties within the INI file, are now also recognised by v7.
    Issue: CT-2231
  • Fixed a thread synchronization issue that can cause memory leaks.
    Issue: CT-2197

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

Tungsten Clustering 7.0

Tungsten Clustering 7.0.3

Build: 141
Release Date: 4 Apr 2023
End of Life Date: 28 Jun 2026
Release 7.0.3 contains a number of key bug fixes and improvements.

Behavior Changes (10)

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 (1)

  • Added LimitNOFILE=infinity in systemd scripts to workaround an issue with open files limit for clusters installed with systemd
    Issue: CT-2023

Command-line Tools (8)

  • The tpm report command with with --extra now shows the associated Connector listener ports and mode per port for when the connector mode is "listeners".
    Issue: CT-2087
  • The tpm command now prints a warning when running as the root OS user during operations that make changes.
    Issue: CT-2064
  • The tungsten_find_seqno command is now a wrapper for tpm find-seqno.
    Issue: CT-2059
  • Enabling a custom backup script does not require it to be made the default option anymore, i.e. Settingbackup-method to the custom backup script is not required anymore.
    Issue: CT-2039
  • The tungsten_skip_all command (along with alias tungsten_skip_seqno) now shows the full pendingExceptionMessage instead of just pendingError, and the More choice shows the pendingErrorEventId and the pendingError.
    Issue: CT-2030
  • The tps.pl backup tool now shows the available command-line arguments when the TAB key is pressed.
    Issue: CT-1246
  • The tpm ssh-copy-cert command has been deprecated and removed in this release.
    Issue: CT-828
  • Deprecated tungsten_get_position and tungsten_set_position scripts have been removed.
    Issue: CT-638

Manager (1)

  • Increased the default manager liveness heartbeat interval from 1s to 3s.
    Issue: CT-2095

Improvements, new features and functionality (11)

Command-line Tools (7)

  • The tungsten_get_ports command now uses values based on values obtained from tpm query values when possible for the greatest output accuracy.
    Issue: CT-2008
  • The tungsten_get_ports command now supports the/opt/continuent/tungsten/tungsten-connector/conf/interfaces.json file, if found.
    Issue: CT-2003
  • Shell command tab completion for Tungsten-specific commands has been updated to support recent additions and changes.
    Issue: CT-2057
  • When in Connector Proxy mode, the tpm report command now displays the Direct and SmartScale status via Channel 2: Connector to Database
    Issue: CT-2037
  • The tpm ask summary command has two new keys, isSmartScale andisDirect, which are also available individually on the command line.
    Issue: CT-2035
  • A new command, tpm copy-keys, has been added to assist with the distribution of security-related files after an INI-based installation. This tool requires ssh access between the cluster nodes for the copy to work.
    Issue: CT-1910
  • A new thl tail command has been added, allowing you to view the live THL changes as they are generated.
    Issue: CT-405

Core Replicator (1)

  • THL transfer protocol can now be changed dynamically. This can be done using the trepctl command tool
    shell> trepctl setdynamic -property replicator.thl.protocol.client.serialization -value DEFLATE
    Property replicator.thl.protocol.client.serialization successfully set to DEFLATE
    This can also be done through the API
    curl --user tungsten:secret --insecure --request POST 'https://127.0.0.1:8097/api/v2/replicator/service/alpha/thl/inflight-protocol' -d
    '{
    "payloadType":"StringPayload",
    "payloadVersion":"1",
    "payload":
    {
    "value":"legacy"
    }
    }'

    {
    "payloadType": "StringPayload",
    "payloadVersion": "1",
    "payload":
    {
    "value": "THL inflight protocol is now set to legacy"
    }
    }
    Issue: CT-1862

Connector (3)

  • A new advanced listeners feature has been added to the connector for even greater control of client connectivity.

    For more details, see "Advanced Listeners"

    Issue: CT-2000
  • Added user-based authentication to existing host-based authentication to restrict connections per host and per user.

    For more details, see "Host-based Authentication"

    Issue: CT-1978
  • Improved smart scale handling of session and global changes so they're all played against connected replica or in case of reconnection. As an example, SET SESSION TRANSACTION READ ONLY will be sent to both primary and replica connections so that a subsequent SELECT @@SESSION.transaction_isolation will return the expected value, even if executed on a replica.
    Issue: CT-1600

Bug Fixes (16)

Command-line Tools (11)

  • Fixed a tpm issue trying to restore an empty policy.
    Issue: CT-2074
  • Suppressed wrong tpm errors with autodetect hosts.
    Issue: CT-2072
  • The tpm diag command will now locate and kill any remaining tpm diag child processes on the calling host.
    Issue: CT-2068
  • Fixes an issue when tprovision would delete the MySQL PEM files in the datadir.
    Issue: CT-2067
  • tpm now builds affinity the same way in bridge and proxy modes.
    Issue: CT-2060
  • The tungsten_find_events command no longer fails with error Undefined subroutine &main::info
    Issue: CT-2058
  • The tpm validate-update command now performs the delete-service checks properly.
    Issue: CT-2054
  • The tpm update command no longer aborts with a Dataservice was NOT removederror when service names with a hyphen are defined in the configuration. We strongly discourage the use of hyphens (-) in service names and recommend underscores (_) instead.
    Issue: CT-2052
  • The tpm ask keys command now lists all available keys properly.
    Issue: CT-2041
  • The tungsten_get_status command now handles shunned nodes properly.
    Issue: CT-2026
  • Fixed rsync availability check in TPM to error out early when the executable is not found in the path
    Issue: CT-1028

Core Replicator (3)

  • Fixed an issue where status would fail if issued while a service was reconfiguring (in the middle of a setrole command for example).
    Issue: CT-2081
  • Fixed an issue where an extracted JSON field could be invalid, with doubled commas in JSON arrays.
    Issue: CT-2049
  • Fixed an issue that was occurring when an ALTER USER is applied on a mysql instance that uses lower case identifiers.
    Issue: CT-2024

Connector (2)

  • Fixed an issue in Dynamic Active-Active environments where smartScale would always read from the site with write affinity, even if a different site is specified for read-affinity.
    Issue: CT-2040
  • Fixed an issue with CLIENT_QUERY_ATTRIBUTES and/or CLIENT_DEPRECATE_EOF flags that would prevent fallback bridge mode to handle proxy connections properly.
    Issue: CT-2020

Tungsten Clustering 7.0.2

Build: 161
Release Date: 9 Jan 2023
End of Life Date: 28 Jun 2026

Release 7.0.2 contains a number of key bug fixes and improvements.

v7.0.2 was originally released on 9th Dec 2022 as build 145, and re-released on 9th Jan 2023 as build 161

Behavior Changes (7)

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)

  • Both the tungsten_get_ports and tpm report commands have been updated to use the ss OS command when the netstat OS command is unavailable or deprecated.
    Issue: CT-2007
  • The check_tungsten.sh was deprecated in release 6.1.18 and has now been removed from this release.
    Issue: CT-1939
  • The various user-xxxx.log files are no longer generated
    Issue: CT-1914

Core Replicator (1)

  • repl-svc-extractor-multi-frag-service-detection is now turned **ON** by default. Event shards are determined at extraction time. With fragmented events, the shard cannot be determined by only reading the first fragment, but needs to check the last fragment as well. With this setting turned OFF, there is no issue with pipelines that don't need it, i.e. no parallel apply downstream replicas. However, as this is done at extract time, THL contains this information, and adding or changing a replica using parallel apply could introduce issues.
    Note
    It can be disabled if you see a performance overhead but this should be done with caution. For Aurora<>Aurora Active/Active deployments it is essential that this property be left ON.
    Issue: CT-1959

Connector (1)

Manager (1)

  • A failsafe shunned cluster (Caused by a network split) will be auto recovered after the network connection is re-established.
    Issue: CT-241

Core Clustering (1)

  • Changed the behavior of the connector and manager upon local site failover:

    No longer sending write traffic to the remote site unless the local site is fully offline. In case of local failover, the connector will now pause connections until a new primary is elected. This will avoid risks of out-of-order apply after local failover

    Issue: CT-2009

Improvements, new features and functionality (25)

Command-line Tools (16)

  • The tungsten_reset_manager command now supports the ability to simply print out the path or paths to be cleared, one per line via the -l or --list arguments.
    Issue: CT-1917
  • The tungsten_generate_haproxy_for_api and tpm generate-haproxy-for-api commands no longer call the Perl Data::Dumper module.
    Issue: CT-1915
  • The tungsten_generate_haproxy_for_api and tpm generate-haproxy-for-api commands now support using connector hosts in the backend definitions via -c, and extra backend flags to the backend hosts lines using -f.
    Issue: CT-1909
  • The tungsten_merge_logs command now supports the --before TIMESTAMP and --after TIMESTAMP filters
    Issue: CT-1869
  • A new thl dsctl option has been added to the thl command, and a new -event option added to thl list
    Issue: CT-2012
  • The tpm report command now prints the hostname and listener ports where available when using the--extra|-x option or the new --ports option.
    Issue: CT-1969
  • A new standalone status script has been added called tungsten_get_status that shows the datasources and replicators for all nodes in all services along with seqno and latency.
    Issue: CT-1962
  • The tpm ask command has five new variables available: dsrole & dsstate for the current datasource, and trrole & trstate for the current replicator, and nodeinfo which displays all 4 of the new variables.
    Issue: CT-1944
  • The tpm ask stages and tpm ask allstages commands have been added to display the Replicator stages for the current node (stages) and the stages for each role (allstages).
    Issue: CT-1943
  • The tpm command calls to glob have been improved to be more strict and compliant.
    Issue: CT-1940
  • The tmonitor command now accepts cli args to specify the ports and will auto-configure the ports if they have been changed via the Tungsten configuration.
    Issue: CT-1919
  • The tpm ask summary command now provides the coordinator host and the isCoordinator boolean if the Manager is running on that node.

    Also, tpm ask now supports direct calls to coordinator, [isCoordinator|iscoordinator]and [isBridgeMode|isBridge|bridge|isbridge|isbridgemode].

    Issue: CT-1874
  • Added a new log file (tungsten-replicator/log/data-drift.log) for data drift messages, i.e. :
    • an update statement was logged on primary, but did not update any row on replica
    • a delete statement was logged on primary, but did not delete any row on replica
    Issue: CT-1873
  • The trepctl reset will now show the last known applied seqno and latency.

    This information is stored on disk at regular intervals (10s minimum) so as not to overload the replicator, therefore the value can be shown as slightly old dependant on when the status command was issued.

    By default, this feature is disabled. It can be enabled by setting the following parameter in the configuration :

    svc-applier-last-applied-write-interval=20

    This will write current position to disk every 20 seconds. This information is also exported by the Prometheus exporter.

    If the service is online, it will display the current value (the same as appliedLastSeqno and appliedLatency)

    shell> trepctl status
    Processing status command...
    NAME VALUE
    ---- -----
    appliedLastEventId : mysql-bin.000017:0000000151329854;70
    appliedLastSeqno : 999
    appliedLatency : 347707.0
    ...
    lastKnownAppliedLatency: 347707.0
    lastKnownAppliedSeqno : 999
    ...
    Issue: CT-1823
  • A new -c option is now available with some trepctl commands that can be used in conjunction with the -r option to indicate the number of times to refresh before automatically terminating. For example, the following command:

    shell> trepctl perf -r 3 -c 10

    Will refresh the output every 3 seconds, 10 times.

    Issue: CT-679
  • rsync is now an option in tprovision, in addition to using xtrabackup and mysqldump. To use rsync, specify-m rsync.

    Using rsync by default will provision a replica in 2 passes:

    • The first pass will live copy (seed) the replica from the source.
    • The second pass will quiesce the source and run the rsync again, resulting in shorter down time than a single pass rsync
    Issue: CT-338

Core Replicator (4)

  • Added a new feature that enables pausing a replicator stage for some amount of time.

    This will pause the given stage for 100 seconds.:

    trepctl pause -stage thl-to-q -time 100

    This will pause the stage indefinitely (or until restart, etc) Add -y to avoid the prompt message whether you are sure.

    trepctl pause -stage thl-to-q

    For the previous 2 commands, running a pause command again will override the previous command.

    This will resume the suspended stage (Note that if the stage is not paused, this will have no effect):

    trepctl resume -stage thl-to-q
    Note
    Please note this pause does not survive a replicator restart or a service offline/online.
    Issue: CT-1912
  • Added a way to configure the maximum number of rows that can be grouped together when applying row based events for multiple insert or delete statements.

    For these properties to be in effect, you must ensure that optimize-row-events=true is either explicitly set in your configuration, or not present (since it will be enabled by default)

    For example, the following settings will limit the number of inserted or deleted rows applied at once to 10:

    optimize-row-events-limit-insert-rows=10
    optimize-row-events-limit-delete-rows=10

    The default values if not specified will be 50 for inserts and 100 for deletes. Note that for deletes to be optimized, the affected table MUST have a single column PK.

    Issue: CT-1980
  • A new replicator role (thl-applier) has been added to allow a replicator service to apply its locally available THL, without pulling from a remote host
    Issue: CT-1936
  • Per-service tuning of the replicator thl directory is now possible for multi-service replicator-only installs as well as for clustering. The given value should be the base directory, to which tungsten will add the service name. For example, the following entry in the tungsten.ini:
    [alpha]
    ...
    ...
    thl-directory=/drv1/thl
    ...
    Would result in the THL being placed in /drv1/thl/alpha
    Note
    Update of thl directory is only available when tpm is called from the staging installation directory, **NOT** from the running directory.
    Issue: CT-1927

Connector (3)

  • Added logging configuration example to print load balancers activity
    Issue: CT-1966
  • Two new commands have been introduced to cctrl to provide better insight and control of the connectors. These are:
    • datasource <dsname> connections [-l] This command displays the current number of connections running to the given node through connectors.
    • datasource <dsname> drain [optional timeout] This command will prevent new connection to be made to the given data source, while ongoing connection remain untouched.
    Issue: CT-1949
  • The connector graceful-stop command now supports systemd service manager properly. The connector stop command now takes an optional argument that will make it a graceful stop. If connector stop is run without the parameter, it will stop the connector immediately. If a positive number of seconds is passed, it will wait, at most, this timeout for connections to disconnect (refusing new connections), after which it will force close all connections and shutdown the connector. connector graceful-stop behavior is unchanged: without the parameter, the connector will wait "forever" for connections to disconnect. A positive timeout in seconds can be passed to sever connections after the given delay
    Issue: CT-1921

Manager (1)

  • Added a new option to TPM manager-replicator-offline-timeout that configures the timeout for the manager to wait until the replicator goes offline. When parallel applier is in use the default timeout was too low, so it’s now user configurable so that it can be adjusted to suit different topologies. If not supplied, the default is 180 (3 minutes). This value should be sufficient in most use cases.
    Issue: CT-1892

API (1)

  • New logs files have been added for the REST API, these are as follows:
    • service_logs/connector-api.log
    • service_logs/manager-api.log
    • service_logs/replicator-api.log
    Issue: CT-1983

Bug Fixes (30)

Installation and Deployment (4)

  • Fixes issues where fixed properties and filters passed to tpm in service stanzas were not being configured correctly
    Issue: CT-1463
  • The tpm install and tpm update commands now properly support the thl-port option for cross-site subservices.
    Issue: CT-1953
  • No longer using Tanuki wrapper functionality to print jvm version, which was creating defunct java processes at startup, now using internal code.
    Issue: CT-1876
  • ddlscan, dsctl and tungsten_send_diag are now added to the aliases.shscript.
    Issue: CT-813

Command-line Tools (10)

  • The tpm diag command now passes when the nodename defined in the tungsten.ini is the shortname, and DNS returns the FQDN.
    Issue: CT-1908
  • Fixes an issue that prevented ddlscan from connecting to MySQL if SSL was enabled.
    Issue: CT-1808
  • Note
    This fix was released in Tungsten Clustering and Tungsten Replicator 7.0.2 Build 161.
    The tpm command checks for the existence of the mysql command-line client when installing/upgrading. The process will no longer abort with an error on non-MySQL targets such as heterogeneous replicator appliers, or Active-Witness hosts.
    Issues: CT-1924, CT-2018
  • Both TungstenAPI and tpasswd now properly update .passwords.store.orig backup file so that proper manipulation of passwords won't trigger tpm update failure
    Issue: CT-1981
  • The tpm mysql command no longer aborts with an access denied error on CentOS 6.
    Issue: CT-1977
  • The tpm mysql command will now gracefully handle being run on a non-database node.
    Issue: CT-1946
  • Fixes an issue that prevented dsctl reacting to MySQL if SSL was enabled.
    Issue: CT-1928
  • The tpm diag command now gathers the mysql.log file when SSL is enabled in the server.
    Issue: CT-1920
  • The tpm command now allows any case for section entries (i.e. [alpha_FROM_beta]) in the INI files.
    Issue: CT-1879
  • The tungsten_skip_seqno command no longer fails when -i is specified, and now properly filters using--filter when there is a long error message.
    Issue: CT-1877

Backup and Restore (1)

  • The cluster_backup script will no longer backup a replica if the replicator is in an ERROR state.
    Issue: CT-1036

Core Replicator (6)

  • Fixed an issue where filtered events would trigger a useless update to the service trep_commit_seqno table while it is overwritten anyway once the last statement of the applied event is done, just prior to committing the whole block.
    Issue: CT-1931
  • Fixes an issue that prevented geometry datatypes with SRID from being replicated.
    Issue: CT-1904
  • Fixed a possible issue when recovering an old primary as a replica after failover when parallel apply is enabled, that could lead the replica to be unable to come online and require a reprovisioning of this replica.
    Issue: CT-1890
  • Fixes an issue that would prevent a service from going offline at a specified time (trepctl online -until-time) when parallel apply is enabled. This is a rework of CT-1243.
    Issue: CT-1684
  • Fixed a parsing issue that would prevent the replicator from correctly detecting a CREATE TABLE statement with START TRANSACTION
    Issue: CT-1987
  • Fixed an issue where the replicator would hang after applying a DROP TABLE event, that originally failed on the primary, but got logged into the binlog.
    Issue: CT-1973

Filters (1)

  • Fixed an issue where the dropsqlmodes filter would fail to remove invalid sql modes from a multi-statement event
    Issue: CT-1993

Connector (3)

  • Fixed connector logging configuration to show hostname and class printing logs
    Issue: CT-1965
  • No longer printing warning "SequenceException: Parents differ" when canceling connections of a composite data service
    Issue: CT-1964
  • Connector now auto detects default authentication plugin by retrieving MySQL data source variable default_authentication_pluginrather than just using MySQL server version
    Issue: CT-1926

Manager (2)

  • A bug has been fixed that, in a few very rare cases, would allow replicas to continue to pull and apply THL from a failed primary whilst a failover was in the process of electing a new primary. This resulted in failovers being unable to complete fully. Whilst the new primary would be online and functioning, existing replicas in the cluster could experience errors due to THL discrepencies between the old and new primary nodes.
    Issue: CT-1986
  • The cctrl command datasource slave now sets the replicator role correctly. Previously, only the datasource role would change.
    Issue: CT-1882

API (3)

  • The REST API call /api/v2/manager/control/service/<service>/datasource/<datasource>/slave now sets the role of the replicator correctly.
    Issue: CT-1975
  • Calls to /api/v2/manager/cluster/status now return properly when a peer cluster is fully offline or unreachable.
    Issue: CT-1945
  • Fixed REST API /api/v2/manager/control/service/<service>/switch call. It will not switch anymore to a shunned node.
    Issue: CT-796

Tungsten Clustering 7.0.1

Build: 96
Release Date: 13 Jun 2022
End of Life Date: 28 Jun 2026

Release 7.0.1 is the first minor release for the v7 release. This release contains a number of new features, minor bug fixes and a few key behavior changes, but importantly contains a critical bug fix for environments that use mixed-case table and database names, that could cause replication failures.

Customers already running v7.0.0 in production environments should upgrade to this release as soon as possible

Behavior Changes (10)

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 (1)

  • A better error message is now provided when keystore password and enclosed private key password don't match.
    Issue: CT-1853

Command-line Tools (7)

  • The tungsten_find_orphaned command now places the log file in$CONTINUENT_ROOT/service_logs/, not /tmp/
    Issue: CT-1866
  • The tpm generate-haproxy-for-api default starting port is now 8091.
    Issue: CT-1865
  • The tmonitor command now calls sudo internally as needed, removing the need for thetmonitor command to be run with sudo for the install and remove sub-commands.
    Issue: CT-1846
  • The tpm ask summary command is now sorted by key when the Perl Tie::IxHash module is installed.
    Issue: CT-1820
  • The cctrl output now displays the SSL status of the group communication and the connection to the database.
    $ cctrl
    Tungsten Clustering 7.0.0
    nyc: session established, encryption=true, authentication=true
    jgroups: [un]encrypted, database: [un]encrypted
    Issues: CT-1785, CT-1832
  • The tpm diag command now gathers the output of the tpm ask summary command
    Issue: CT-1827
  • The following commands which call cctrl now support the pass-through -t secondstimeout argument which specifies how long cctrl will wait for a connection to the Manager process before aborting:
    • check_tungsten_latency
    • check_tungsten_online
    • check_tungsten_policy
    • check_tungsten_services
    • tungsten_show_processlist
    • zabbix_tungsten_latency
    • zabbix_tungsten_online
    • zabbix_tungsten_progress
    • zabbix_tungsten_services
    Issue: CT-1822

Core Replicator (1)

  • The default value for the tpm property svc-fail-on-zero-row-update has been changed from warnto stop
    Warning

    This is a significant change in behavior and could cause replicators, specifically cross-site replicators, in an Active/Active environment to stop and error more frequently.

    To maintain original behavior you will need to add this property with the value of warn to your configuration, providing you fully understand the inherent risk of ignoring such warnings.

    Issue: CT-1856

API (1)

  • The manager REST API /api/v2/manager/status call now returns information regarding to security.
    Issue: CT-1830

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Installation and Deployment (1)

  • After starting up Tungsten components, a defunct process for each running component can be found in the process listing.

    Whilst this does not cause any issues, it could generate unnecessary alerts for customers monitoring.

    The cause has been identified and affects version 7.0.0 and 7.0.1. This will be fixed in the next 7.0.2 release.

    Issue: CT-1876

Improvements, new features and functionality (13)

Command-line Tools (8)

  • The tapi command will now output service names with the new option --includeServiceName, or if there is more than one service name found.
    Issue: CT-1860
  • Added JMX encryption and authentication status to trepctl -verbose and connector command outputs
    Issue: CT-1813
  • Added connector<->manager link encryption status in the output of router * status command in cctrl
    Issue: CT-1811
  • The tapi command now auto-detects the protocol, either http or https
    Issue: CT-1803
  • The tapi command now supports the creation and modification of multiple APIv2 admin users. Two new cli args have been added: --create-user and --create-pass.
    Issue: CT-1801
  • A new tpm report sub-command has been added. By default, tpm report will generate a security report for all available communication channels on a per-node basis. The purpose of tpm report is to provide easy access to all of the settings that pertain to a specific topic. The default (and only) topic at this time is the security stance. More topics will be added over time.
    Issues: CT-1793, CT-1857
  • The new command tungsten_upgrade_manager will help clear specific cached SSL values, to be used only when specified by Continuent Support.
    Issue: CT-1788
  • Added the ability to turn auto recovery on or off dynamically, removing the need to run tpm update.

    This is done by running the following command:

    shell> trepctl -service servicename setdynamic -property replicator.autoRecoveryMaxAttempts -value <number>
    Note
    The service must be offline before changing the property
    Issue: CT-1088

Core Replicator (1)

  • The thl list command now displays an approximate field size in bytes for row-based replication.
    Issue: CT-1847

Connector (1)

  • Added a connector mode command to print which mode the connector is running in, either "bridge" or "proxy"
    Issue: CT-1799

Security (1)

  • Replaced official log4j library with a secured version in which all vulnerable classes have been removed. This prevents exposing the software following a (user) misconfiguration of the log4j properties
    Issue: CT-1810

API (2)

  • Added new top level REST API call to display RMI SSL status, run the following API call :
    shell> curl https://127.0.0.1:8097/api/v2/rmiSecurity
    Issue: CT-1812
  • Added a way to retrieve service properties through the API, for example, to check a specific service parameter, run the following API call :
    shell> curl https://127.0.0.1:8097/api/v2/replicator/service/alpha/properties?filter=replicator.global.db.sslEnabled
    {
    "payloadType": "PropertiesListPayload",
    "payloadVersion": "1",
    "payload": {
    "replicator.global.db.sslEnabled": "false"
    }
    }
    Issue: CT-1802

Bug Fixes (27)

Installation and Deployment (3)

  • tpm would fail on keystores containing special characters in alias names.
    Issue: CT-1852
  • The tpm update command now properly handles v7 -> v7 upgrades.
    Issue: CT-1815
  • deployall script now properly displays the executable prefix for restarting services, typically mm_treplicator in Multi-Site/Active-Active replicator-only installs, as well as the full path to component binaries
    Issue: CT-1835

Command-line Tools (13)

  • undeployall script would not properly uninstall systemd services on some distributions including amazon linux.
    Issue: CT-1845
  • replicator start offline would not properly pass the offline argument to systemd scripts when installed through deployall.
    Issue: CT-1836
  • The tapi command now auto-switches protocol (http or https) properly.
    Issue: CT-1829
  • TPM would fail to validate data sources when using ssl-capath [directory] rather than ssl-ca [file] in my.cnf.

    This fixes only the validation part, automated truststore creation by TPM will not be possible at this point, a full tungsten-truststore.ts will have to be passed throughjava-truststore-path

    Issue: CT-1826
  • The tpm update command now properly determines services to be deleted.
    Issue: CT-1825
  • Fixed an `Undefined subroutine` call error in tapi --create
    Issue: CT-1798
  • The tpm policy command now returns the proper policy in a composite cluster. There is also a new cli argument, --all, to show the policy for all cluster services.
    Issue: CT-1787
  • The tpm update command now returns clusters to the proper mode (i.e.MAINTENANCE or AUTOMATIC) for staging-method upgrades (INI not affected).
    Issue: CT-1784
  • Worked around a ruby issue where DNS name resolution was sometimes preferred to file-based resolution in TPM. The following logic now applies: first trying file-based host name resolution, upon failure try DNS, then through ping command
    Issue: CT-1653
  • tpm now properly reports errors upon timeout executing commands. Typically, when a host is down, when upgrading or installing,tpm will now properly report that pinging this host failed.
    Issue: CT-1819
  • The tpm connector command now properly passes the -e arguments to the mysql command.
    Issue: CT-1816
  • Improves the tpm diag command so that it waits 2 seconds for replicator thread dump to complete.
    Issue: CT-1792
  • The tpm update command no longer aborts during a staging deployment when the actual hostname does not match what is configured for the node names in tpm
    Issue: CT-1791

Backup and Restore (4)

  • Incremental backups can now be restored more than once.
    Issue: CT-1850
  • Restore will now succeed even if only one incremental backup has been created.
    Issue: CT-1842
  • During the backup/restore process the MySQL certificates are kept intact.
    Issue: CT-1841
  • Fixed an issue with latest xtrabackup 8.0.28
    Issue: CT-1838

Core Replicator (4)

  • Fixed a NullPointerException that could happen if a replicator was put offline during startup. This had mostly no consequence except the exception being logged.
    Issue: CT-1863
  • Fixes issues with PrimaryKeyFilter:
    • It could fail from correctly fetching primary key columns for tables with mixed upper and lower case letters in table names
    • Alter user statements could make it fail
    Issue: CT-1861
  • tpm update would fail with message "The host is configured to be '' but it is currently operating as a 'master'"when a dynamic replicator configuration file is found
    Issue: CT-1848
  • Fixed the EnumToString and pkey filters to renew their database connections (every hour by default). This can be changed with the following properties:
    property=replicator.filter.enumtostring.reconnectTimeout=3600
    property=replicator.filter.pkey.reconnectTimeout=3600
    Issue: CT-1786

Connector (2)

  • An exception could occur while forcing shutdown of router gateways.
    Issue: CT-1779
  • Fixed the output of connector cluster status by adjusting log4 appender.
    Issue: CT-1778

Manager (1)

  • Fixed an issue where the command system summary issued in cctrl would hang the managers in the cluster.
    Issue: CT-1849

Tungsten Clustering 7.0.0

Build: 848
Release Date: 29 Mar 2022
End of Life Date: 28 Jun 2026
Release 7.0.0 is a major release introducing many new features including a fully documented API. There are a large number of bug fixes and improvements in all areas of the product, and a number of key behavior changes, most significantly being Security is now enabled by default.

Behavior Changes (18)

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 (1)

Command-line Tools (8)

  • Changed output of thl purge command when no lower and upper bounds are given from 'Deleting events where' to 'Deleting all events'.
    Issue: CT-1738
  • The tpm diag command now gathers the /etc/os-release file when located. Also now using the ip command on systems where ifconfig and/or route is deprecated.
    Issue: CT-1496
  • The tpm diag command now uses the ss (socket status) command in place of netstat on SUSE and other operating systems that have deprecated netstat.
    Issue: CT-1483
  • tpm now accepts chrony as a valid time synchronization software
    Issue: CT-1462
  • The tungsten_find_orphaned script now creates a log file every time it runs which is stored in the configured temporary directory (/tmp/ by default, tpm query values temp_directory). This is to allow for easier troubleshooting and visibility during automatic execution.
    Issue: CT-1447
  • The tungsten_post_process script functionality has been merged into the tpm post-process command. The tungsten_post_process script remains as a shell wrapper for tpm post-process.
    Issue: CT-1314
    • tungsten_set_position has been deprecated and no longer available in this release. dsctl should be used instead.
    • tungsten_provision_slave has now been renamed to tprovision
    Issue: CT-1302
  • The tpm diag command now uses tar czf instead of the zip command to compress the gathered files. The zip command is no longer a prerequisite for tpm diag.
    Issue: CT-1253

Backup and Restore (4)

  • Additional messaging has been added to the output displayed when running tprovision.
    Issue: CT-1689
  • tungsten_provision_slave has now been renamed to tprovision.
    Issue: CT-1436
  • From v8 of xtrabackup, the --stream=tar option was removed, meaning that backups could fail if using the newer release of the Percona tools

    In this release, the backups will now create the backup and then manually compress it

    Warning
    This change will increase the required disk space for backups to allow the post-backup compression to complete.
    Issue: CT-1346
  • --user and --password options have been added to the following scripts:
    • cluster_backup
    • check_tungsten_backups
    • tungsten_monitor

    If manager-rest-api-authentication=true (the default if not explicitly disabled) then these two new options must be supplied otherwise the scripts will fail with the following error: "ERROR >> Manager REST API authentication needed. Please specify the user name and password."

    The internal ruby api.rb module can now also handle the manager-rest-api-ssl=true (the default if not explicitly disabled) and will use https instead of http to access the REST API

    Issue: CT-1311

Core Replicator (1)

  • Replicator will now check after extracting a mysql STOP_EVENT whether a new binlog file was created, actually handling this event as a ROTATE EVENT.

    This decreases the time that would be needed after STOP_EVENT to extract a new event.

    Issue: CT-1349

Connector (1)

  • Optimized transaction parsing by removing SQL transaction start recognition: in-transaction state is found in server status flags.
    Issue: CT-1698

Manager (1)

  • A new logfile, console.log is now generated in the $CONTINUENT_ROOT/tungsten/tungsten-manager/logs directory which contains all output displayed via cctrl. This file will provide Continuent Support with more valuable information when assisting to diagnose support cases.
    Issue: CT-1499

Other Issues (1)

  • Log files for each component now have the same date and time stamp format.
    Issue: CT-1669

API (1)

  • API calls triggering configuration changes are protected by a flag, i-am-sure=true, in order to avoid unwanted, potentially dramatic, configuration changes. This applies to:
    • configuration/module/servicesmap
    • reset
    • offline
    • online
    • onhold
    • addDataService
    • addDataSource
    Issue: CT-1317

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.

Installation and Deployment (1)

  • After starting up Tungsten components, a defunct process for each running component can be found in the process listing.

    Whilst this does not cause any issues, it could generate unnecessary alerts for customers monitoring.

    The cause has been identified and affects version 7.0.0 and 7.0.1. This will be fixed in the next 7.0.2 release.

    Issue: CT-1876

Command-line Tools (2)

  • The tpm policy command may return the incorrect policy value for composite clusters.

    As a result of this known issue, the tungsten_reset_manager command will also have issues on composite clusters because it calls tpm policy.

    Issue: CT-1787
  • The check_tungsten_online command returns a Replicator offline error on active witness hosts.
    Issue: CT-1783

Improvements, new features and functionality (33)

Installation and Deployment (3)

  • Support has been added for Java 17 LTS
    Issue: CT-1706
  • Support now included for MariaDB 10.3+
    Issues: CT-1433, CT-1276
  • Two new tpm options have been included as part of the new API in this release.

    The options are used for setting the API admin user credentials and are as follows:

    Issue: CT-1327

Command-line Tools (14)

  • A new command (error) has been added to trepctl to output a full stack trace of the last error, if any.
    shell> trepctl -service <serviceName> error

    Event application failed: seqno=10 fragno=0 message=Table hr.regions not found in database. Unable to generate a valid statement.
    com.continuent.tungsten.replicator.applier.ApplierException: Table hr.regions not found in database. Unable to generate a valid statement.
    at com.continuent.tungsten.replicator.applier.JdbcApplier.getTableMetadata(JdbcApplier.java:582)
    at com.continuent.tungsten.replicator.applier.JdbcApplier.fillColumnNames(JdbcApplier.java:494)
    at com.continuent.tungsten.replicator.applier.JdbcApplier.getColumnInformation(JdbcApplier.java:1236)
    at com.continuent.tungsten.replicator.applier.MySQLApplier.applyOneRowChangePrepared(MySQLApplier.java:418)
    at com.continuent.tungsten.replicator.applier.JdbcApplier.applyRowChangeData(JdbcApplier.java:1460)
    at com.continuent.tungsten.replicator.applier.JdbcApplier.apply(JdbcApplier.java:1576)
    at com.continuent.tungsten.replicator.applier.ApplierWrapper.apply(ApplierWrapper.java:100)
    at com.continuent.tungsten.replicator.pipeline.SingleThreadStageTask.apply(SingleThreadStageTask.java:871)
    at com.continuent.tungsten.replicator.pipeline.SingleThreadStageTask.runTask(SingleThreadStageTask.java:601)
    at com.continuent.tungsten.replicator.pipeline.SingleThreadStageTask.run(SingleThreadStageTask.java:185)
    at java.base/java.lang.Thread.run(Thread.java:834)
    Issue: CT-1747
  • The cctrl.log file is now accessible from the $CONTINUENT_ROOT/service_logs directory
    Issue: CT-1727
  • The tapi command now supports the --affinity argument which will display all Connector-specific affinity settings, along with --connectorstatus to show all.
    Issue: CT-1700
  • A new option to print the merged logs to STDOUT has been added to tungsten_merge_logs (--stdout|-O)

    The tpm command suite now properly supports the --profile argument to specify a Tungsten json configuration file in place of the installed tungsten.cfg.

    Issue: CT-1680
  • The tmonitor command now has better help text and more options to ease usage, including --filter to allow easy viewing of the tmonitor test output.
    Issue: CT-1585
  • The tungsten_purge_thl command is now a wrapper for the tpm purge-thl command.
    Issue: CT-1488
  • With the release of APIv2, a new cli tool has been introduced to allow easier access called tapi.

    In addition, the vast majority of Tungsten cli tools have been updated to optionally use the APIv2 interface when desired.

    The Nagios and Zabbix checks are also available via APIv2 using the tapi tool.

    Issue: CT-1454
  • The tungsten_reset_manager command is now able to restart the Manager process when the --start or -s argument is passed in.
    Issue: CT-1401
  • tungsten_send_diag now supports a new command-line argument, --cleanup, which will cause the removal of the diagnostic archive file generated using the --diag argument.
    Issue: CT-1360
  • A new sub-command has been added, tpm generate-haproxy-for-api. This read-only action will read all available INI files and dump out corresponding haproxy.cfg entries with properly incrementing ports; the composite parent will come first, followed by the composite children in alphabetical order.

    The tungsten_generate_haproxy_for_api script functionality has been merged into thetpm generate-haproxy-for-api command. The tungsten_generate_haproxy_for_apiscript remains as a shell wrapper for tpm generate-haproxy-for-api.

    Issue: CT-1342
  • tpm diag now collects routing table information via route -n , and has two new command-line arguments: --include and --groups.

    --include specifies a comma-separated list of subroutines to include. Any gather subroutine not listed will be skipped.

    --groups specifies a comma-separated list of subroutine groups to include. Any group not listed will be skipped.

    Issue: CT-1322
  • A new tpm option purge-thl and a new script tungsten_purge_thlhave been added to allow easier and more intelligent THL purging across all nodes in a topology.

    This allow you to purge THL files based on the following rules:

    • Gather the last applied seqno from all Replica nodes and take the lowest one
    • Find the current THL file which contains that seqno, then locate the previous one
    • Construct a thl purge command to remove thl thru the last seqno in the prev file
    The default behavior is to display the needed commands for the admin to execute manually.
    Issue: CT-1273
  • Prometheus exporters mysqld_exporter and node_exporter are now included with the distribution packages.

    A new command line tool tmonitor is now available for the management and testing of external Prometheus exporters (node and mysqld), and for the testing of internal exporters (Manager, Connector and Replicator).

    Issue: CT-960
  • A new tpm option delete-service is now available to simplify the removal of clusters and/or replicator services.
    Issues: CT-210, CT-327, CT-1275

Backup and Restore (2)

  • Fixes an issue where tprovision could remove the SSL certs for MySQL on reprovision
    Issue: CT-1323
  • Added support for mariabackup using the following configurable tpm options:
    backup-method=mariabackup
    or
    backup-method=mariabackup-incremental
    Issue: CT-1100

Core Replicator (3)

  • In-Flight THL Compression is now available.

    For full details on enabling this feature, refer to "THL Encryption and Compression"

    Issue: CT-1420
  • The replicator will now be able to handle new SQL_MODES available in later releases of MySQL and MariaDB, these are as follows:
    • MySQL: TIME_TRUNCATE_FRACTIONAL
    • MariaDB: TIME_ROUND_FRACTIONAL, SIMULTANEOUS_ASSIGNMENT
    Issue: CT-1362
  • It is now possible to compress and/or encrypt THL on disk. For more information on using these features see"THL Encryption and Compression"
    Issue: CT-630

Connector (5)

  • connector-reset-when-affinity-back is now available with proxy mode.
    Issue: CT-1763
  • connector drain [opt-timeout] has been introduced as an alias to existingconnector graceful-stop command and will prevent new connections, then shutdown the connector after an optional delay.

    The opt-timeout parameter (seconds) can be specified to limit the wait before stopping the connector. Not passing this parameter implies infinite wait.

    Issue: CT-1644
  • A new Dynamic Active/Active feature has been added within the Proxy.

    This new Proxy mode is for Composite Active/Active clusters only, and allows you to specifically configure writes to be directed to a single cluster by the use of the tpm connector-write-affinityflag.

    For full details on this feature, and configuring it, see "Deploying a Dynamic Active/Active (DAA) Cluster"

    Issue: CT-1540
  • Added support for TLSv1.3.

    Note that TLS 1.3 was introduced in jdk 8u272. So tpm will only set it by default for java 8u272 and later versions. It is still possible to force the protocol to be used via tpm flag tls-enabled-protocols=TLSv1.xxx

    Issue: CT-1367
  • Audit Logging is now available in the Connector: it allows for logging data transferred between client application and MySQL servers to a file, database or socket.

    For more details and steps to enable, see "Connector Audit Logging"

    Issue: CT-78

Security (2)

  • Tungsten software now undergoes a rigorous security scan during QA. We also check included open-source/3rd-party software.
    Issue: CT-1579
  • Tungsten can now install on default CentOS and RedHat 8 with tightened security settings thanks to support of TLSv1.3
    Issue: CT-1359

Monitoring (1)

  • A number of new metrics have been added to the Prometheus exporters.
    Issues: CT-1615, CT-1266

Platform Specific Deployments (1)

  • ARM 64 bit processor support added (linux aarch64)
    Note
    Note that at time of release, there is currently no xtrabackup binary available for ARM.
    Issues: CT-1619, CT-1620

Other Issues (2)

  • IPv6 host addresses are now fully supported.

    Can be enabled with the following configuration property:

    prefer-ip-stack="6"

    By default, IPv4 is enabled, which equates to the value of "4" in the above property.

    Issue: CT-1537
  • General improvements in MySQL 8.0 support.
    Issue: CT-1346

Bug Fixes (57)

Installation and Deployment (2)

  • When services are deployed with systemd and MySQL could not start due to an error, tpm would not be able to later start MySQL
    Issue: CT-1734
  • Default systemd configuration files for Tungsten components no longer specifies the tungsten group to execute the command. This will prevent file access issues when tungsten user belongs to several groups.
    Issue: CT-1550

Command-line Tools (29)

  • The tpm diag command now handles zero-length mysqld.log files gracefully.
    Issue: CT-1740
  • tungsten_monitor.rb script no longer uses sudo to send emails if the configuration doesn't allow it.
    Issue: CT-1737
  • The tpm diag command now handles Multi-Site/Active-Active topologies better.
    Issue: CT-1718
  • The tpm command now communicates properly when there is no INI configuration file or staging-method deploy.cfg configuration defined.
    Issue: CT-1712
  • tpm now parses the MYSQL SSL related setting correctly.
    Issue: CT-1662
  • When MySQL services were badly installed, some distribution could show a “not-found” status within systemctl, confusing tpm
    Issue: CT-1677
  • Fixes an issue where the deployall command would create a root owned wrapper.log in the ./tools directory.
    Issue: CT-1664
  • The tpm ask command no longer calls Data::Dumper when it is not available.
    Issue: CT-1626
  • The tungsten_find_orphaned command no longer fails with an 'Can't exec "/bin/sh": Argument list too long' error when there are too many THL files to parse.
    Issue: CT-1545
  • The tpm update command will now properly remove composite services.
    Issue: CT-1519
  • The tpm update command now handles updates/upgrades more gracefully when the previous version did not have the latest tpm framework.
    Issue: CT-1506
  • Database monitoring logs are now reporting the correct error number and SQL state when database errors occur.
    Issue: CT-1497
  • The tpm diag command now properly collects the system information file on Debian systems.
    Issue: CT-1492
  • The tpm purge-thl command now handles command-line arguments more intelligently.
    Issue: CT-1489
  • All tpm sub-commands now handle command-line arguments more intelligently.
    Issue: CT-1487
  • The tmonitor command no longer fails on Debian 9 and Ubuntu.
    Issue: CT-1485
  • The tpm generate-haproxy-for-api command no longer fails on CentOS 8.
    Issue: CT-1484
  • tprovision (formerly tungsten_provision_slave) may fail to provision if the MySQL data directory was not accessible to the tungsten user.
    Issue: CT-1475
  • Fixes a monitoring bug with users using caching_sha2_password.
    Issue: CT-1406
  • The tpm command no longer aborts with a Use of uninitialized value errorwhen a stray tungsten.cfg file exists under $CONTINUENT_ROOT
    Issue: CT-1394
  • The tpm command no longer prints an error when run with no other command-line arguments.
    Issue: CT-1373
  • tungsten_send_diag no longer prints an error about Use of uninitialized value $diagArgs in concatenation.
    Issue: CT-1354
  • The number of created and active connections could be incorrect when listed from a composite data service
    Issue: CT-1312
  • Fixes a security issue within the tpm diag command.
    Issue: CT-1295
  • The tpm diag command now behaves correctly on Connector-only nodes, where previously it would try to gather Manager and Replicator-specific items.
    Issue: CT-1284
  • The tpm update command will now exit with an error if any files not owned by the configured Tungsten OS user are found in the Tungsten installation directory.

    For example, if the OS user is tungsten and the installation directory is /opt/continuent, containing the file /opt/continuent/thl/archived_thl.zip owned by root would cause something like the following error to be produced, and tpm update would exit:

    Foreign-owned files found!

    Located files in the Tungsten installed directory /opt/continuent
    that are not owned by the Tungsten OS user (tungsten):

    /opt/continuent/thl/archived_thl.zip

    Please change the ownership of these files to OS user "tungsten"
    using the chown command as root via sudo, then rerun the `tpm update` command.

    For example:
    shell> sudo chown -R tungsten:tungsten /opt/continuent
    Issue: CT-1260
  • The tpm connector command now handles special characters in the password string.
    Issue: CT-1258
  • Fixes a bug in tprovision when using xtrabackup version 8, due to changes in xtrabackup binaries.
    Issue: CT-1248
  • In certain cases, tprovision would not be able to find the binary log position of the backup when taken from a primary. This has been fixed.
    Issue: CT-1085

Backup and Restore (2)

  • Fixed an issue where an xtrabackup generated by the replicator would fail to be restored using trepctl restore command.
    Issue: CT-1575
  • When running the cluster_backup in a Active/Active environment, when setting require_master_backupto false, the script would still attempt to backup the Primary as it would scan the wrong sub-service and incorrectly identify the Relay node as a candidate.
    Issue: CT-1280

Core Replicator (9)

  • Added more debug information for detecting possible hanging connections while a THL client connects to the THL server. Also, added socket timeout for the connection initialization
    Issue: CT-1760
  • Fixed an issue where trepctl was leaving JMX connections opened.
    Issue: CT-1752
  • Fixed an issue when using Parallel apply that would show a NullPointerException in case an event could either not be found or be corrupted in THL. This will now display a correct message Missing or corrupted event from storage
    Issue: CT-1722
  • When connecting to a THL server, a client will now connect to the next available host in its THL URI, if the first does not have the sequence number that the client requires. The client will then fail only if none of the hosts from the URI can provide the needed sequence number.
    Issue: CT-1558
  • For row based events, SQL modes were not displayed in the THL output. This is now fixed.
    Issue: CT-1440
  • Fixes occurrences of NullPointerException that would occur when bringing the replicator online before MySQL was started.
    Issue: CT-1348
  • A change in the way MySQL logs CREATE TABLE AS SELECT in the Binary Logs from v8.0.20 onwards, meant these transactions would previously fail.
    Warning
    Whilst these statements will now replicate, it must be noted that in the event of a failure during the data load, the initial CREATE statement won't be rolled back, and therefore care must be taken when using this type of DDL.
    Note
    This only affects customers using MySQL v8.0.20+ running with ROW based replication. An alternative workaround to ensure correct rollback on failure, would be to run the statement with STATEMENT based replication for the session. This will also provide better performance for larger tables.
    Issue: CT-1301
  • When using parallel apply, the replicator would error with a Foreign Key constraint error if statements were issued against two or more objects that shared the same name, but with different case sensitivity, for example:
    mysql> create table testtable;
    mysql> drop table testtable;
    mysql> create table TestTable;
    Issue: CT-1259
  • The replicator metadata cache will now correctly handle table names whenlower_case_table_names=1 is set in the MySQL configuration.
    Issue: CT-651

Filters (2)

  • The BidiRemoteSlaveFilter could fail to correctly flag fragmented events in unprivileged environments (Aurora, for example) In such an environment (multi-active, unprivileged database access), a new setting was introduced to force extraction process to read ahead to the last fragment to detect the service name (false by default). Enabled with repl-svc-extractor-multi-frag-service-detection=true
    Issue: CT-1351
  • Includes previously missing template file to enable easy configuration of the dbrename filter.
    Issue: CT-1350

Connector (6)

  • Connector no longer requests cross-site services information from manager. In addition to removing extra network traffic, this cures a problem of connections counted twice in data source connection statistics
    Issue: CT-1775
  • Connector now mirrors the MySQL default connect_timeout by retrieving it from the primary when starting up. This timeout will apply to all connections made from the connector to MySQL servers.

    This setting can be over-ridden by using the following tpm property:

    property=connectTimeout=VALUE

    If VALUE set to autodetect, this value will mirror the MySQL connect_timeout system variable. Set to 0 for infinite timeout.

    Issue: CT-1726
  • Connector now forbids non-ssl connections when mysql server has require_secure_transport=ON
    Issue: CT-1666
  • The Connector now properly retries specific MySQL commands when possible: INIT_DB,CHANGE_USER, STATISTICS and prepared statement functions.
    Issue: CT-1480
  • With @direct r/w splitting in active/active configurations, the connector was not correctly redirecting connections to an active site after re-joining the cluster following a failure.
    Issue: CT-1400
  • 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) which translates toconnector-allow-cross-site-reconnects-for-writes=false andconnector-allow-cross-site-reconnects-for-reads=true

    It is still possible to get the previous behavior (reconnecting transparently connections cross-site) by specifying bothconnector-allow-cross-site-reconnects-for-writes=true andconnector-allow-cross-site-reconnects-for-reads=true, at your own risk

    Issue: CT-1265

Manager (6)

  • Fixes an issue where datasource <datasourcename> welcome would fail to welcome a manually failed composite datasource.
    Issue: CT-1771
  • Fixes an issue when the manager would wait longer than the timeout for replicator purge on a failover.
    Issue: CT-1733
  • Early initialisation of the REST API sometimes caused the manager to hang and fail to startup correctly on new installations.
    Issue: CT-1725
  • Fixes a manager-internal connection check during recovery that was not properly using SSL when required.
    Issue: CT-1661
  • Fixes an edge case bug that would allow a Composite Active/Active cluster to contain 2 Primary nodes.
    Issue: CT-1474
  • Fixes a NullPointerException error (NPE) in the manager logs.
    Issue: CT-1132

Security (1)

  • log4j libraries updated to v2.17.1 specifically to mitigate risk of exposure to the 0-day vulnerability detected in log4j v2.14
    Issue: CT-1703

Tungsten Replicator 7.2

Tungsten Replicator 7.2.1

Build: 40
Release Date: 3 Feb 2026
Release 7.2.1 contains a number of key bug fixes and improvements.

Behavior Changes (3)

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 (1)

  • tpm now only reads /etc/tungsten/tungsten.ini (no longer looking in $HOME directory and /etc/tungsten.ini) For a different path, different filename or multiple files, use the --ini supplying a comma-separated list
    Issue: CT-2612

Command-line Tools (2)

  • The tprovision command now deletes only binary log files listed in the index if the binary log directory is not the same as the mysql data directory.
    Issue: CT-2631
  • The tprovision command no longer requires the external tool tungsten_get_mysql_datadir. Additionally, the tool has been significantly re-factored for greater stability, performance and functionality.
    Issue: CT-2597

Improvements, new features and functionality (6)

Installation and Deployment (1)

  • New feature: tungsten.ini backup and history. When enabled with the tpm flag tungsten-ini-backup (false by default), the tpm update command will create a copy of the current INI file (default: /etc/tungsten/tungsten.ini) as$CONTINUENT_ROOT/history/ini/tungsten.ini.YYYYMMDDhhmmssWhen enabled with the tpm flag tungsten-ini-backup, the tpm install command will create the first history file and the history subdir, if needed. A new sub-command, tpm ini diff has been added to compare the current INI file (default: /etc/tungsten/tungsten.ini) and a history file (default: latest history file found), and can also accept --stamp [YYMMDDhhmmss] to specify which file to diff by timestamp. A new sub-command, tpm ini backup has been added to manually invoke the same copy that the tpm update command does. Added two new tpm configuration flags:
    Issue: CT-2635

Command-line Tools (4)

  • New feature tpm copy --example will show the manual steps taken by tpm copy --initto copy the cluster certificate files to other nodes.
    Issue: CT-2636
  • A new subcommand tpm ini defaults has been added to list any tpm option that actually has a default value defined in the tools/tpm_options_db.txt file, along with the default value. Additionally, documentation has been updated to show defaults and options for all properties where applicable.
    Issue: CT-2634
  • New tpm flag --add-ssl now allows to force generate certificates when doing an upgrade. This allows configurations with security disabled to be upgraded to 8.0.1 AND switched to using SSL/TLS communications at the same time. Example:
    shell> tools/tpm update --replace-release --add-ssl
    Issue: CT-2619
  • New Feature: tpm ini upgrade --ini [fullpath] will display all changes to the specified INI file that would be performed by the tpm update commands during a version upgrade. Adding the --write argument would apply the changes to the specified file as well.
    Issue: CT-2601

Core Replicator (1)

  • The replicator now includes real-time performance monitoring to track and identify slow database operations during replication. The feature provides visibility into transaction, event, and statement execution times with configurable thresholds for alerting. For more information on configuring and using this feature, see "The trepctl perflog Command"
    Issue: CT-2629

Bug Fixes (9)

Installation and Deployment (1)

  • Fixed an installation issue when using MariaDB 10.6 with SSL. Previously, this would have failed to install showing an error message like :
    Unable to connect to the MySQL server using tungsten@db1:13306 (WITH PASSWORD) (MySQLLoginCheck)
    Issue: CT-2624

Command-line Tools (3)

  • The tprovision command now correctly honors the mountpoint override flag when not using method rsync.
    Issue: CT-2651
  • The tpm cert gen command now works during version upgrades when a security configuration file may not have existed before (passwords.store).
    Issue: CT-2618
  • The tungsten_send_diag now uses AWS Signature Version 4 to upload files.
    Issue: CT-2589

Backup and Restore (1)

  • Fixed an edge case issue with xtrabackup running against the primary node and MySQL 8+.
    Note
    Generally we do not recommend taking backups from primary nodes, and instead backups should be taken from replicas.
    Issue: CT-2602

Core Replicator (2)

  • With recent SELinux changes, MySQL might be unable to read from /tmp. This directory is used when applying a LOAD DATA INFILE command that was logged using Statement Based Replication (warning : this is considered as unsafe by MySQL). In order to avoid any issues, a new setting has been added to indicate a directory to use : svc-applier-ldi-temp-dir=/tmp/mysqltmpIn this case, mysqltmp is a new subdirectory that should be set with the following permissions and SELinux context
    mkdir -p /tmp/mysqltmp
    sudo chown -R mysql: /tmp/mysqltmp
    sudo chmod -R g+r /tmp/mysqltmp
    sudo semanage fcontext -a -t mysqld_db_t '/tmp/mysqltmp(/.*)?'
    sudo restorecon -Rv /tmp/mysqltmp
    Another improvement was also added to force the use of LOCAL when applying a LOAD DATA INFILEcommand that was logged using SBR. This is useful when applying to a remote MySQL host. To enable, set the value of the svc-applier-ldi-use-local=true (default : false)
    Issue: CT-2603
  • Fixed an issue where timestamp columns would not match between source and target when using theprivileged-slave=false property to replicate from a source database using MIXED binlog mode.
    Issue: CT-2594

Core Clustering (1)

  • Recent Java versions changed a default that now enable endpoint identification in secured RMI calls. As a quick turnaround, this release restores the default of disabling identification in various Tungsten scripts.
    Issue: CT-2666

Security (1)

  • Upgraded jackson libraries to latest version to plug potential security holes.
    Issue: CT-2655

Tungsten Replicator 7.2.0

Build: 84
Release Date: 8 Jul 2025
Release 7.2.0 contains a number of key bug fixes and improvements, along with the upgrade of log4j libraries.

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_check and tungsten_provision_thl have been deprecated and will be removed in a future release
    Issue: CT-2506

Behavior Changes (7)

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 (2)

  • tpm validate now verifies localhost is defined in /etc/hosts
    Issue: CT-2564
  • All Tungsten Components now use log4j version 2.
    Issues: CT-1410, CT-1412

Command-line Tools (4)

  • The tpm cert info command now provides better error messages when a specifiedtypeSpec file does not exist.
    Issue: CT-2530
  • The tpm ask command now returns the appropriate values for keys: stagingdir,stagingpath, staginghost and staginguser.

    Additionally, the tpm ask staging command will return a JSON structure with all values. All values are the same as the output of the tpm query-staging command, just presented differently for easier machine usage.

    Issue: CT-2510
  • Removed sigtrap module dependency from tungsten_find_orphaned.
    Issue: CT-2451
  • The tungsten_send_diag command has been updated with new security keys and the ability to accept security keys on the CLI.
    Issue: CT-2438

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=xxx and must have the same name in both tungsten_keystore andtungsten_connector_keystore.
    Issue: CT-2598

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Security (1)

  • tungsten_mysql_ssl_setup incorrectly 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 (9)

Command-line Tools (5)

  • The tpm ask command will now convert values 0 and false toNo and values 1 and true to Yes as human output when given --human or -n cli args.
    Issue: CT-2559
  • The tpm ini command now handles all new tpm options.
    Issue: CT-2543
  • The tpm diag command now gathers the output of the tpm ini check -xcommand as the tpmINICheck call.
    Issue: CT-2499
  • The tpm cert command will now handle public key files. The command tpm cert gen public will create $CONTINUENT_HOME/generated/tungsten_public.jks from the$CONTINUENT_HOME/share/tungsten_keystore.jks file and thetpm cert list public command will show the contents, etc.
    Issue: CT-2434
  • The tpm ask command now supports the -s|--service option for dsrole, dsstate, trrole and trstate keys. The option alias for --short is now -S (capitalized), was previously lower-case. Example:
    tpm ask dsrole --service alpha
    Issue: CT-2400

Core Replicator (2)

  • The trepctl perf output has been improved when parallel apply is enabled to show granular statistics per channel.
    Issue: CT-2517
  • Replicator now recognizes the new MySQL 8.4 show binary log status syntax (as well as show master status) and will execute the configured replacement request appropriately.
    Issue: CT-2291

Security (1)

  • Tungsten can now hold two MySQL database SSL Certificates, allowing rotation of certificates without the need for downtime. A new command line tool, rotate_certs, is provided to aid in this process.
    Issue: CT-2511

Monitoring (1)

  • Additional prometheus metrics have been added to the Replicator:
    • tungsten_replicator_service_online_duration_seconds gauge show duration in seconds since the replicator was put online.
    • tungsten_replicator_task_total counter shows statistics by service, stage and task as shown in the following example:
      tungsten_replicator_task_total{service="alpha",stage="q-to-dbms",task_id="1",stat="extract_time",} 250.015
      In this case, this is the extract time spent by the task #1 of the q-to-dbms stage of the alpha service. This is similar to the new trepctl perf output.
    Issue: CT-2514

Bug Fixes (25)

Installation and Deployment (2)

Command-line Tools (20)

  • The tapi command no longer issues an error when the quantity of command-line arguments is larger than expected.
    Issue: CT-2580
  • The tpm purge-thl command now works properly when run against environments where there are multiple THL files, but the lowest seqno returned exists in the very first THL file.
    Issue: CT-2561
  • The tpm cert info command now properly handles all available typeSpecs.
    Issue: CT-2532
  • The tpm cert aliases --running command now properly handles thetls_passwordstore and jmx_passwordstore typeSpecs.
    Issue: CT-2512
  • Fixes an issue where dsctl set with the -reset option 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
  • The tungsten_send_diag command now handles curl and aws s3 errors separately and displays the proper message back.
    Issue: CT-2488
  • 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 version and tpm ask versions commands now display values.
    Issue: CT-2475
  • executable-prefix is now applied to the deployall and undeployall script names. For example, whenexecutable-prefix=mm, deployall would be named mm_deployall.
    Issue: CT-2467
  • The tpm keep command is now properly called by tpm uninstall, and a regression in a call to the mysql cli has been fixed as well.
    Issue: CT-2462
  • The tpm update command now properly identifies and removes services with mixed-case service names.
    Issue: CT-2426
  • tpm now properly detects MariaDB default settings.
    Issue: CT-2424
  • The tapi command now accepts non-standard ports on the command line, and also properly accepts a user/password pair on the CLI.
    Issue: CT-2420
  • The tapi command now creates proper URL's for these standard endpoints when-C, -M or -R are specified along with one of the following strings: ping, tungstenVersion, createAdminUser,deleteAdminUser, listAdminUsers, rmiSecurity or user.
    Issue: CT-2391
  • The tpm check ports and tpm check ports -c commands 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|--replicator or -c|--cluster.
    Issue: CT-2356
  • The tpm diag command no longer displays a NOTICE for missing optional files.
    Issue: CT-2355
  • The tpm uninstall command now properly calls the tpm keep command for standalone Tungsten Replicator deployments.
    Issue: CT-2436
  • The tpm diag command now correctly connects to an off-host database when run under standalone Tungsten Replicator.
    Issue: CT-2402
  • The tpm diag command now gathers:
    • tungsten-replicator/log/replicator-api.log
    Issue: CT-2397
  • The tpm update command now properly deletes services when run in a standalone Tungsten Replicator deployment.
    Issue: CT-2383

Core Replicator (2)

  • 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_unsafe
    Issue: CT-2405

MongoDB Replication (1)

  • The replicator now reads the TLS certificate for Mongo Atlas connectivity from the correct keystore (tungsten_truststore.ts).
    Issue: CT-2227

Tungsten Replicator 7.1

Tungsten Replicator 7.1.4

Build: 10
Release Date: 1 Oct 2024
End of Life Date: 7 Jul 2026
Release 7.1.4 contains a number of key bug fixes and improvements.
Warning
Due to JGroup libraries being updated in the 7.1.0 release, managers running releases older than 7.1.0 will not communicate with managers running 7.1.0+ therefore when upgrading to this release from anything older than 7.1.0, 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 (3)

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 (2)

Monitoring (1)

  • Tungsten monitoring scripts no longer rely upon the bc command, removing the dependency because recent distros do not havebc available
    Issue: CT-2371

Improvements, new features and functionality (6)

Command-line Tools (5)

  • The tpm diag command now gathers show global status; from the MySQL server
    Issue: CT-2387
  • The tpm diag command now gathers service_logs/tprovision.log and service_logs/trestore.log, if they exist
    Issue: CT-2385
  • The tpm diag command now gathers the output of crontab -l.
    Issue: CT-2344
  • Added the -last and -first options to thl dsctl command
    Issue: CT-2318
  • The tpm diag command now gathers the mount and hostname commands.
    Issue: CT-2314

Filters (1)

  • A new maskData filter has been added, allowing basic level data obfuscation capabilities.
    Issue: CT-849

Bug Fixes (8)

Command-line Tools (5)

  • The tpm check ini command now honors the --short and --valid options
    Issue: CT-2373
  • The tpm cert command now easily imports certificate bundles into various files, and correctly reads a file name as the propertypeSpec in various subcommands.
    Issue: CT-2369
  • The tpm copy --doini command now functions properly from the staging directory before the initial installation of Tungsten.
    Issue: CT-2362
  • The tungsten_mysql_ssl_setup command no longer tries to ls any .p12 file unless --p12 has been given on the cli.
    Issue: CT-2357
  • The tpm check ini command now properly handles property= INI entries.
    Issue: CT-2352

Core Replicator (3)

  • Fixed a bug in latency calculations that in some circumstances could appear as though the latency on the applier stages was "flapping".
    Issue: CT-2386
  • Fixed an issue where the replicator was not able to build a valid DELETE statement, when enable-heterogeneous-service=true.
    Issue: CT-2379
  • Fixed a bug preventing the auto-recovery feature to put the service back online if it failed to connect to database during a retry
    Issue: CT-2377

Tungsten Replicator 7.1.3

Build: 3
Release Date: 25 Jun 2024
End of Life Date: 7 Jul 2026
Release 7.1.3 contains a number of key bug fixes and improvements.
Warning
Due to JGroup libraries being updated in the 7.1.0 release, managers running releases older than 7.1.0 will not communicate with managers running 7.1.0+ therefore when upgrading to this release from anything older than 7.1.0, 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 (7)

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 (7)

  • Improved support for the --nosudo argument and the sudo command in tpm diag
    Issue: CT-2308
  • The tapi command option now prints a much easier-to-understand URL when specifying the -U option
    Issue: CT-2279
  • The tpm cert command now accepts an absolute path filename as a typeSpec
    Issue: CT-2268
  • The tpm cert command now accepts --basedir and --certsdir as aliases for --dir to specify the target directory for generation
    Issue: CT-2267
  • The tpm diag command now checks the my_print_defaults command for the MySQL error log value if the direct querySELECT @@GLOBAL.log_error; fails to gather a value for any reason.
    Issue: CT-2229
  • The tpm update command now checks for a custom passwords.store file in the INI and exits with an error if the running file does not match the custom file.
    Issue: CT-2216
  • The tpm cert command now properly accepts the full file name as a typeSpec.
    Issue: CT-2213

Improvements, new features and functionality (6)

Installation and Deployment (2)

  • Oracle Linux 9 has been certified for Tungsten products from version 7.1.3.
    Issue: CT-2370
  • Added support for Ruby 3.2.
    Issue: CT-2296

Command-line Tools (4)

  • Added new tpm check ports command which will check port connectivity for standard Tungsten ports to a specified host
    Issue: CT-2292
  • tpasswd utility gets a new switch -C or --compare.to allowing password store file comparison for tpm update purpose.
    Issue: CT-2278
  • A new command has been added, tpm check ini, that will validate all options present in a tungsten.ini file. This command can be run prior to installation.
    Issue: CT-2240
  • Improved help text in the tpm cert command.
    Issue: CT-2222

Bug Fixes (6)

Installation and Deployment (1)

Command-line Tools (4)

  • The tpm cert command now works correctly with the share/tungsten.env configuration file prior to installation
    Issue: CT-2255
  • Fixes a regression in tpm cert that prevented BASE_DIR in tungsten.env from being used properly.
    Issue: CT-2237
  • All tpm commands now use the --force and -f arguments consistently
    Issue: CT-2224
  • The tpm cert and tpm copy commands now work from the staging directory before Tungsten is installed
    Issue: CT-2181

Vertica Replication (1)

  • Fixed an issue with Vertica batch applier failing to correctly handle blob data containing the '\' (backslash) character
    Issue: CT-2316

Tungsten Replicator 7.1.2

Build: 81
Release Date: 13 May 2024
End of Life Date: 7 Jul 2026
Release 7.1.2 contains a number of key bug fixes and improvements.
Note
v7.1.2 was re-released as build 81 on 13 May 2024 to fix two critical bugs that exist in the original build 42 release (CT-2284, CT-2285).
Warning
Due to JGroup libraries being updated in the 7.1.0 release, managers running releases older than 7.1.0 will not communicate with managers running 7.1.0+ therefore when upgrading to this release from anything older than 7.1.0, 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 (1)

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 (1)

  • The systemd startup scripts will now have a dependency on the time-sync service (if available) being started before tungsten components.
    Issue: CT-2257

Improvements, new features and functionality (4)

Installation and Deployment (1)

Command-line Tools (2)

Filters (1)

  • A new filter, binarystringconversion, was added to provide a way to convert varchar data from one charset into another.
    Issue: CT-981

Bug Fixes (5)

Core Replicator (3)

  • Event extraction can sometimes generate an empty fragment (for a multi fragment transaction). This in turn can lead to bad shard detection. While empty fragment is expected, shard detection will now use the last non-empty fragment.
    Note
    This bug was detected in v7.1.2 build 42, and fixed in v7.1.2 build 81
    Issue: CT-2284
  • Fixed an issue caused by a MySQL behavior change in how a DROP TABLE is logged in the binlog, that made the replicator unable to identify correctly if the query had tungsten metadata in it.
    Issue: CT-2269
  • Fixed an issue where the shard name of an event could be badly identified, which could potentially lead to deadlocks when parallel applier was enabled
    Issue: CT-2266

Heterogeneous Replication (2)

  • Fixed an issue when using the convertstringfrommysql Filter in heterogeneous deployments, that could show an error while processing an INSERT event after the PrimaryKey Filter added key specifications to it.
    Issue: CT-2260
  • Fixes a bug in heterogeneous deployments that prevented CHAR and BINARY data types replicating correctly
    Issue: CT-2258

Tungsten Replicator 7.1.1

Build: 42
Release Date: 15 Dec 2023
End of Life Date: 7 Jul 2026
Release 7.1.1 contains a number of key bug fixes including one major bug fix that prevents switches from working correctly after upgrading from v6.
Warning
Due to JGroup libraries being updated in the 7.1.0 release, managers running releases older than 7.1.0 will not communicate with managers running 7.1.0+ therefore when upgrading to this release from anything older than 7.1.0, 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 (1)

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 (1)

  • The tpm diag command now collects ps -aux output in addition to ps -efl when possible
    Issue: CT-2119

Bug Fixes (4)

Installation and Deployment (1)

  • Installations will now succeed on hosts running Ruby 3.x
    Issue: CT-2196

Command-line Tools (3)

  • The tpm mysql command now properly accepts the -e argument as a shortcut for the --execute mysql cli client argument.
    Issue: CT-2217
  • The tpm update command no longer fails to display foreign-owned dot-files and directories.
    Issue: CT-2190
  • The tpm report command now correctly displays security info tpm options as blank when none exists.
    Issue: CT-2176

Tungsten Replicator 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 (2)

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 (1)

  • 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

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 (16)

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 (5)

  • 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
  • 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 (3)

  • 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
  • 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

PostgreSQL Replication (2)

  • Added a new ddlscan template, ddl-mysql-postgres-staging.vm, to allow generation of staging table DDL for the PostgreSQL batch applier.
    Issue: CT-2136
  • It is now possible to configure the PostgreSQL applier in Batch mode.
    Issue: CT-2031

Amazon S3 Replication (1)

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

Monitoring (2)

  • Prometheus libraries have been upgraded from version 0.8.1 to 0.16.0
    Issue: CT-2166
  • Prometheus exporters now provide the ssl cert expiration date as an epoch value in addition to the label.
    Issue: CT-2099

Bug Fixes (12)

Installation and Deployment (1)

Command-line Tools (2)

  • 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
  • tpm uninstall would sometimes print "ERROR >> db1 >> undefined method '+' for nil:NilClass"
    Issue: CT-2104

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

PostgreSQL Replication (2)

  • Fixed a NullPointerException error occurring at startup when applying to PostgreSQL.
    Issue: CT-2021
  • Fixes an issue with the ddl-mysql-postgres.vm ddlscan template that caused varchar datatype lengths to be parsed incorrectly.
    Issue: CT-2019

Tungsten Replicator 7.0

Tungsten Replicator 7.0.3

Build: 141
Release Date: 4 Apr 2023
End of Life Date: 28 Jun 2026
Release 7.0.3 contains a number of key bug fixes and improvements.

Behavior Changes (6)

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 (2)

  • Added LimitNOFILE=infinity in systemd scripts to workaround an issue with open files limit for clusters installed with systemd
    Issue: CT-2023
  • enable-sudo-access is now enabled by default in Replicator only installations.
    Issue: CT-1780

Command-line Tools (4)

  • The tpm command now prints a warning when running as the root OS user during operations that make changes.
    Issue: CT-2064
  • The tungsten_skip_all command (along with alias tungsten_skip_seqno) now shows the full pendingExceptionMessage instead of just pendingError, and the More choice shows the pendingErrorEventId and the pendingError.
    Issue: CT-2030
  • The tps.pl backup tool now shows the available command-line arguments when the TAB key is pressed.
    Issue: CT-1246
  • Deprecated tungsten_get_position and tungsten_set_position scripts have been removed.
    Issue: CT-638

Improvements, new features and functionality (6)

Command-line Tools (4)

  • The tungsten_get_ports command now uses values based on values obtained from tpm query values when possible for the greatest output accuracy.
    Issue: CT-2008
  • Shell command tab completion for Tungsten-specific commands has been updated to support recent additions and changes.
    Issue: CT-2057
  • The tpm ask summary command has two new keys, isSmartScale andisDirect, which are also available individually on the command line.
    Issue: CT-2035
  • A new thl tail command has been added, allowing you to view the live THL changes as they are generated.
    Issue: CT-405

Core Replicator (1)

  • THL transfer protocol can now be changed dynamically. This can be done using the trepctl command tool
    shell> trepctl setdynamic -property replicator.thl.protocol.client.serialization -value DEFLATE
    Property replicator.thl.protocol.client.serialization successfully set to DEFLATE
    This can also be done through the API
    curl --user tungsten:secret --insecure --request POST 'https://127.0.0.1:8097/api/v2/replicator/service/alpha/thl/inflight-protocol' -d
    '{
    "payloadType":"StringPayload",
    "payloadVersion":"1",
    "payload":
    {
    "value":"legacy"
    }
    }'

    {
    "payloadType": "StringPayload",
    "payloadVersion": "1",
    "payload":
    {
    "value": "THL inflight protocol is now set to legacy"
    }
    }
    Issue: CT-1862

Amazon Redshift Replication (1)

  • Updated the Redshift JDBC driver to version 2.1.0.12.
    Issue: CT-1806

Bug Fixes (12)

Command-line Tools (8)

  • Suppressed wrong tpm errors with autodetect hosts.
    Issue: CT-2072
  • The tpm diag command will now locate and kill any remaining tpm diag child processes on the calling host.
    Issue: CT-2068
  • The tungsten_find_events command no longer fails with error Undefined subroutine &main::info
    Issue: CT-2058
  • The tpm validate-update command now performs the delete-service checks properly.
    Issue: CT-2054
  • The tpm update command no longer aborts with a Dataservice was NOT removederror when service names with a hyphen are defined in the configuration. We strongly discourage the use of hyphens (-) in service names and recommend underscores (_) instead.
    Issue: CT-2052
  • Fixed rsync availability check in TPM to error out early when the executable is not found in the path
    Issue: CT-1028
  • The trepctl restore command now works correctly against MongoDB targets.
    Issue: CT-1233
  • The dsctl command now works correctly against MongoDB targets
    Issue: CT-580

Core Replicator (3)

  • Fixed an issue where status would fail if issued while a service was reconfiguring (in the middle of a setrole command for example).
    Issue: CT-2081
  • Fixed an issue where an extracted JSON field could be invalid, with doubled commas in JSON arrays.
    Issue: CT-2049
  • Fixed an issue that was occurring when an ALTER USER is applied on a mysql instance that uses lower case identifiers.
    Issue: CT-2024

PostgreSQL Replication (1)

  • Improved some data type mappings for MySQL to PostgreSQL replication.
    Issue: CT-2069

Tungsten Replicator 7.0.2

Build: 161
Release Date: 9 Jan 2023
End of Life Date: 28 Jun 2026

Release 7.0.2 contains a number of key bug fixes and improvements.

v7.0.2 was originally released on 9th Dec 2022 as build 145, and re-released on 9th Jan 2023 as build 161

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)

  • Both the tungsten_get_ports and tpm report commands have been updated to use the ss OS command when the netstat OS command is unavailable or deprecated.
    Issue: CT-2007
  • The check_tungsten.sh was deprecated in release 6.1.18 and has now been removed from this release.
    Issue: CT-1939
  • The various user-xxxx.log files are no longer generated
    Issue: CT-1914

Core Replicator (1)

  • repl-svc-extractor-multi-frag-service-detection is now turned **ON** by default. Event shards are determined at extraction time. With fragmented events, the shard cannot be determined by only reading the first fragment, but needs to check the last fragment as well. With this setting turned OFF, there is no issue with pipelines that don't need it, i.e. no parallel apply downstream replicas. However, as this is done at extract time, THL contains this information, and adding or changing a replica using parallel apply could introduce issues.
    Note
    It can be disabled if you see a performance overhead but this should be done with caution. For Aurora<>Aurora Active/Active deployments it is essential that this property be left ON.
    Issue: CT-1959

Improvements, new features and functionality (16)

Command-line Tools (11)

  • The tungsten_merge_logs command now supports the --before TIMESTAMP and --after TIMESTAMP filters
    Issue: CT-1869
  • A new thl dsctl option has been added to the thl command, and a new -event option added to thl list
    Issue: CT-2012
  • The tpm report command now prints the hostname and listener ports where available when using the--extra|-x option or the new --ports option.
    Issue: CT-1969
  • The tpm ask command has five new variables available: dsrole & dsstate for the current datasource, and trrole & trstate for the current replicator, and nodeinfo which displays all 4 of the new variables.
    Issue: CT-1944
  • The tpm ask stages and tpm ask allstages commands have been added to display the Replicator stages for the current node (stages) and the stages for each role (allstages).
    Issue: CT-1943
  • The tpm command calls to glob have been improved to be more strict and compliant.
    Issue: CT-1940
  • The tmonitor command now accepts cli args to specify the ports and will auto-configure the ports if they have been changed via the Tungsten configuration.
    Issue: CT-1919
  • Added a new log file (tungsten-replicator/log/data-drift.log) for data drift messages, i.e. :
    • an update statement was logged on primary, but did not update any row on replica
    • a delete statement was logged on primary, but did not delete any row on replica
    Issue: CT-1873
  • The trepctl reset will now show the last known applied seqno and latency.

    This information is stored on disk at regular intervals (10s minimum) so as not to overload the replicator, therefore the value can be shown as slightly old dependant on when the status command was issued.

    By default, this feature is disabled. It can be enabled by setting the following parameter in the configuration :

    svc-applier-last-applied-write-interval=20

    This will write current position to disk every 20 seconds. This information is also exported by the Prometheus exporter.

    If the service is online, it will display the current value (the same as appliedLastSeqno and appliedLatency)

    shell> trepctl status
    Processing status command...
    NAME VALUE
    ---- -----
    appliedLastEventId : mysql-bin.000017:0000000151329854;70
    appliedLastSeqno : 999
    appliedLatency : 347707.0
    ...
    lastKnownAppliedLatency: 347707.0
    lastKnownAppliedSeqno : 999
    ...
    Issue: CT-1823
  • A new -c option is now available with some trepctl commands that can be used in conjunction with the -r option to indicate the number of times to refresh before automatically terminating. For example, the following command:

    shell> trepctl perf -r 3 -c 10

    Will refresh the output every 3 seconds, 10 times.

    Issue: CT-679
  • rsync is now an option in tprovision, in addition to using xtrabackup and mysqldump. To use rsync, specify-m rsync.

    Using rsync by default will provision a replica in 2 passes:

    • The first pass will live copy (seed) the replica from the source.
    • The second pass will quiesce the source and run the rsync again, resulting in shorter down time than a single pass rsync
    Issue: CT-338

Core Replicator (4)

  • Added a new feature that enables pausing a replicator stage for some amount of time.

    This will pause the given stage for 100 seconds.:

    trepctl pause -stage thl-to-q -time 100

    This will pause the stage indefinitely (or until restart, etc) Add -y to avoid the prompt message whether you are sure.

    trepctl pause -stage thl-to-q

    For the previous 2 commands, running a pause command again will override the previous command.

    This will resume the suspended stage (Note that if the stage is not paused, this will have no effect):

    trepctl resume -stage thl-to-q
    Note
    Please note this pause does not survive a replicator restart or a service offline/online.
    Issue: CT-1912
  • Added a way to configure the maximum number of rows that can be grouped together when applying row based events for multiple insert or delete statements.

    For these properties to be in effect, you must ensure that optimize-row-events=true is either explicitly set in your configuration, or not present (since it will be enabled by default)

    For example, the following settings will limit the number of inserted or deleted rows applied at once to 10:

    optimize-row-events-limit-insert-rows=10
    optimize-row-events-limit-delete-rows=10

    The default values if not specified will be 50 for inserts and 100 for deletes. Note that for deletes to be optimized, the affected table MUST have a single column PK.

    Issue: CT-1980
  • A new replicator role (thl-applier) has been added to allow a replicator service to apply its locally available THL, without pulling from a remote host
    Issue: CT-1936
  • Per-service tuning of the replicator thl directory is now possible for multi-service replicator-only installs as well as for clustering. The given value should be the base directory, to which tungsten will add the service name. For example, the following entry in the tungsten.ini:
    [alpha]
    ...
    ...
    thl-directory=/drv1/thl
    ...
    Would result in the THL being placed in /drv1/thl/alpha
    Note
    Update of thl directory is only available when tpm is called from the staging installation directory, **NOT** from the running directory.
    Issue: CT-1927

API (1)

  • A new log file has been added for the REST API, it is as follows:
    • service_logs/replicator-api.log
    Issue: CT-1983

Bug Fixes (24)

Installation and Deployment (4)

  • Fixes issues where fixed properties and filters passed to tpm in service stanzas were not being configured correctly
    Issue: CT-1463
  • The tpm install and tpm update commands now properly support the thl-port option for cross-site subservices.
    Issue: CT-1953
  • No longer using Tanuki wrapper functionality to print jvm version, which was creating defunct java processes at startup, now using internal code.
    Issue: CT-1876
  • ddlscan, dsctl and tungsten_send_diag are now added to the aliases.shscript.
    Issue: CT-813

Command-line Tools (11)

  • The tpm diag command now passes when the nodename defined in the tungsten.ini is the shortname, and DNS returns the FQDN.
    Issue: CT-1908
  • Fixes an issue that prevented ddlscan from connecting to MySQL if SSL was enabled.
    Issue: CT-1808
  • Note
    This fix was released in Tungsten Clustering and Tungsten Replicator 7.0.2 Build 161.
    The tpm command checks for the existence of the mysql command-line client when installing/upgrading. The process will no longer abort with an error on non-MySQL targets such as heterogeneous replicator appliers, or Active-Witness hosts.
    Issues: CT-1924, CT-2018
  • Both TungstenAPI and tpasswd now properly update .passwords.store.orig backup file so that proper manipulation of passwords won't trigger tpm update failure
    Issue: CT-1981
  • The tpm mysql command no longer aborts with an access denied error on CentOS 6.
    Issue: CT-1977
  • The tpm mysql command will now gracefully handle being run on a non-database node.
    Issue: CT-1946
  • Fixes an issue that prevented dsctl reacting to MySQL if SSL was enabled.
    Issue: CT-1928
  • The tpm diag command now gathers the mysql.log file when SSL is enabled in the server.
    Issue: CT-1920
  • The tpm command now allows any case for section entries (i.e. [alpha_FROM_beta]) in the INI files.
    Issue: CT-1879
  • The tungsten_skip_seqno command no longer fails when -i is specified, and now properly filters using--filter when there is a long error message.
    Issue: CT-1877
  • Running tpm update on a standalone Replicator deployment no longer prints an uninitialized value error.
    Issue: CT-1807

Core Replicator (7)

  • Fixed an issue where filtered events would trigger a useless update to the service trep_commit_seqno table while it is overwritten anyway once the last statement of the applied event is done, just prior to committing the whole block.
    Issue: CT-1931
  • Fixes an issue that prevented geometry datatypes with SRID from being replicated.
    Issue: CT-1904
  • Fixed a possible issue when recovering an old primary as a replica after failover when parallel apply is enabled, that could lead the replica to be unable to come online and require a reprovisioning of this replica.
    Issue: CT-1890
  • Fixes an issue that would prevent a service from going offline at a specified time (trepctl online -until-time) when parallel apply is enabled. This is a rework of CT-1243.
    Issue: CT-1684
  • Fixed a parsing issue that would prevent the replicator from correctly detecting a CREATE TABLE statement with START TRANSACTION
    Issue: CT-1987
  • Fixed an issue where the replicator would hang after applying a DROP TABLE event, that originally failed on the primary, but got logged into the binlog.
    Issue: CT-1973
  • Fixed an issue in the applier to ensure it is not committing too often with a multi-service replicator (active/active for example, more specifically with AWS Aurora, or an unprivileged MySQL, backend).
    Issue: CT-2004

Filters (1)

  • Fixed an issue where the dropsqlmodes filter would fail to remove invalid sql modes from a multi-statement event
    Issue: CT-1993

Manager (1)

  • A bug has been fixed that, in a few very rare cases, would allow replicas to continue to pull and apply THL from a failed primary whilst a failover was in the process of electing a new primary. This resulted in failovers being unable to complete fully. Whilst the new primary would be online and functioning, existing replicas in the cluster could experience errors due to THL discrepencies between the old and new primary nodes.
    Issue: CT-1986

Tungsten Replicator 7.0.1

Build: 96
Release Date: 13 Jun 2022
End of Life Date: 28 Jun 2026

Release 7.0.1 is the first minor release for the v7 release. This release contains a number of new features, minor bug fixes and a few key behavior changes, but importantly contains a critical bug fix for environments that use mixed-case table and database names, that could cause replication failures.

Customers already running v7.0.0 in production environments should upgrade to this release as soon as possible

Behavior Changes (6)

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 (1)

  • A better error message is now provided when keystore password and enclosed private key password don't match.
    Issue: CT-1853

Command-line Tools (4)

  • The tungsten_find_orphaned command now places the log file in$CONTINUENT_ROOT/service_logs/, not /tmp/
    Issue: CT-1866
  • The tmonitor command now calls sudo internally as needed, removing the need for thetmonitor command to be run with sudo for the install and remove sub-commands.
    Issue: CT-1846
  • The tpm ask summary command is now sorted by key when the Perl Tie::IxHash module is installed.
    Issue: CT-1820
  • The tpm diag command now gathers the output of the tpm ask summary command
    Issue: CT-1827

Core Replicator (1)

  • The default value for the tpm property svc-fail-on-zero-row-update has been changed from warnto stop
    Warning

    This is a significant change in behavior and could cause replicators, specifically cross-site replicators, in an Active/Active environment to stop and error more frequently.

    To maintain original behavior you will need to add this property with the value of warn to your configuration, providing you fully understand the inherent risk of ignoring such warnings.

    Issue: CT-1856

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Installation and Deployment (1)

  • After starting up Tungsten components, a defunct process for each running component can be found in the process listing.

    Whilst this does not cause any issues, it could generate unnecessary alerts for customers monitoring.

    The cause has been identified and affects version 7.0.0 and 7.0.1. This will be fixed in the next 7.0.2 release.

    Issue: CT-1876

Improvements, new features and functionality (10)

Command-line Tools (6)

  • The tapi command will now output service names with the new option --includeServiceName, or if there is more than one service name found.
    Issue: CT-1860
  • Added JMX encryption and authentication status to trepctl -verbose and connector command outputs
    Issue: CT-1813
  • The tapi command now auto-detects the protocol, either http or https
    Issue: CT-1803
  • The tapi command now supports the creation and modification of multiple APIv2 admin users. Two new cli args have been added: --create-user and --create-pass.
    Issue: CT-1801
  • A new tpm report sub-command has been added. By default, tpm report will generate a security report for all available communication channels on a per-node basis. The purpose of tpm report is to provide easy access to all of the settings that pertain to a specific topic. The default (and only) topic at this time is the security stance. More topics will be added over time.
    Issues: CT-1793, CT-1857
  • Added the ability to turn auto recovery on or off dynamically, removing the need to run tpm update.

    This is done by running the following command:

    shell> trepctl -service servicename setdynamic -property replicator.autoRecoveryMaxAttempts -value <number>
    Note
    The service must be offline before changing the property
    Issue: CT-1088

Core Replicator (1)

  • The thl list command now displays an approximate field size in bytes for row-based replication.
    Issue: CT-1847

Security (1)

  • Replaced official log4j library with a secured version in which all vulnerable classes have been removed. This prevents exposing the software following a (user) misconfiguration of the log4j properties
    Issue: CT-1810

API (2)

  • Added new top level REST API call to display RMI SSL status, run the following API call :
    shell> curl https://127.0.0.1:8097/api/v2/rmiSecurity
    Issue: CT-1812
  • Added a way to retrieve service properties through the API, for example, to check a specific service parameter, run the following API call :
    shell> curl https://127.0.0.1:8097/api/v2/replicator/service/alpha/properties?filter=replicator.global.db.sslEnabled
    {
    "payloadType": "PropertiesListPayload",
    "payloadVersion": "1",
    "payload": {
    "replicator.global.db.sslEnabled": "false"
    }
    }
    Issue: CT-1802

Bug Fixes (20)

Installation and Deployment (3)

  • tpm would fail on keystores containing special characters in alias names.
    Issue: CT-1852
  • The tpm update command now properly handles v7 -> v7 upgrades.
    Issue: CT-1815
  • deployall script now properly displays the executable prefix for restarting services, typically mm_treplicator in Multi-Site/Active-Active replicator-only installs, as well as the full path to component binaries
    Issue: CT-1835

Command-line Tools (10)

  • undeployall script would not properly uninstall systemd services on some distributions including amazon linux.
    Issue: CT-1845
  • replicator start offline would not properly pass the offline argument to systemd scripts when installed through deployall.
    Issue: CT-1836
  • The tapi command now auto-switches protocol (http or https) properly.
    Issue: CT-1829
  • TPM would fail to validate data sources when using ssl-capath [directory] rather than ssl-ca [file] in my.cnf.

    This fixes only the validation part, automated truststore creation by TPM will not be possible at this point, a full tungsten-truststore.ts will have to be passed throughjava-truststore-path

    Issue: CT-1826
  • The tpm update command now properly determines services to be deleted.
    Issue: CT-1825
  • Fixed an `Undefined subroutine` call error in tapi --create
    Issue: CT-1798
  • Worked around a ruby issue where DNS name resolution was sometimes preferred to file-based resolution in TPM. The following logic now applies: first trying file-based host name resolution, upon failure try DNS, then through ping command
    Issue: CT-1653
  • tpm now properly reports errors upon timeout executing commands. Typically, when a host is down, when upgrading or installing,tpm will now properly report that pinging this host failed.
    Issue: CT-1819
  • Improves the tpm diag command so that it waits 2 seconds for replicator thread dump to complete.
    Issue: CT-1792
  • The tpm update command no longer aborts during a staging deployment when the actual hostname does not match what is configured for the node names in tpm
    Issue: CT-1791

Backup and Restore (1)

  • Fixed an issue with latest xtrabackup 8.0.28
    Issue: CT-1838

Core Replicator (5)

  • Fixed a NullPointerException that could happen if a replicator was put offline during startup. This had mostly no consequence except the exception being logged.
    Issue: CT-1863
  • Fixes issues with PrimaryKeyFilter:
    • It could fail from correctly fetching primary key columns for tables with mixed upper and lower case letters in table names
    • Alter user statements could make it fail
    Issue: CT-1861
  • tpm update would fail with message "The host is configured to be '' but it is currently operating as a 'master'"when a dynamic replicator configuration file is found
    Issue: CT-1848
  • Fixed the EnumToString and pkey filters to renew their database connections (every hour by default). This can be changed with the following properties:
    property=replicator.filter.enumtostring.reconnectTimeout=3600
    property=replicator.filter.pkey.reconnectTimeout=3600
    Issue: CT-1786
  • Due to a change in binlogging behavior from MySQL 5.7 onwards (Including Aurora) when using the standalone Tungsten Replicator to configure bi-directional replication with unprivileged access (ie unable to control binlogging behavior), certain DDL statements failed to be tagged correctly causing them to be re-applied to the originating source database, resulting in replicator errors.
    Issue: CT-1083

Amazon Redshift Replication (1)

  • If the optional RedshiftCopyOptions option was omitted from the s3-config.json file, the replicator would fail to start with an undefined error.
    Issue: CT-1814

Tungsten Replicator 7.0.0

Build: 848
Release Date: 29 Mar 2022
End of Life Date: 28 Jun 2026
Release 7.0.0 is a major release introducing many new features including a fully documented API. There are a large number of bug fixes and improvements in all areas of the product, and a number of key behavior changes, most significantly being Security is now enabled by default.

Behavior Changes (15)

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 (1)

Command-line Tools (8)

  • Changed output of thl purge command when no lower and upper bounds are given from 'Deleting events where' to 'Deleting all events'.
    Issue: CT-1738
  • The tpm diag command now gathers the /etc/os-release file when located. Also now using the ip command on systems where ifconfig and/or route is deprecated.
    Issue: CT-1496
  • The tpm diag command now uses the ss (socket status) command in place of netstat on SUSE and other operating systems that have deprecated netstat.
    Issue: CT-1483
  • tpm now accepts chrony as a valid time synchronization software
    Issue: CT-1462
  • The tungsten_find_orphaned script now creates a log file every time it runs which is stored in the configured temporary directory (/tmp/ by default, tpm query values temp_directory). This is to allow for easier troubleshooting and visibility during automatic execution.
    Issue: CT-1447
  • The tungsten_post_process script functionality has been merged into the tpm post-process command. The tungsten_post_process script remains as a shell wrapper for tpm post-process.
    Issue: CT-1314
    • tungsten_set_position has been deprecated and no longer available in this release. dsctl should be used instead.
    • tungsten_provision_slave has now been renamed to tprovision
    Issue: CT-1302
  • The tpm diag command now uses tar czf instead of the zip command to compress the gathered files. The zip command is no longer a prerequisite for tpm diag.
    Issue: CT-1253

Backup and Restore (3)

  • Additional messaging has been added to the output displayed when running tprovision.
    Issue: CT-1689
  • tungsten_provision_slave has now been renamed to tprovision.
    Issue: CT-1436
  • From v8 of xtrabackup, the --stream=tar option was removed, meaning that backups could fail if using the newer release of the Percona tools

    In this release, the backups will now create the backup and then manually compress it

    Warning
    This change will increase the required disk space for backups to allow the post-backup compression to complete.
    Issue: CT-1346

Core Replicator (1)

  • Replicator will now check after extracting a mysql STOP_EVENT whether a new binlog file was created, actually handling this event as a ROTATE EVENT.

    This decreases the time that would be needed after STOP_EVENT to extract a new event.

    Issue: CT-1349

Other Issues (1)

  • Log files for each component now have the same date and time stamp format.
    Issue: CT-1669

API (1)

  • API calls triggering configuration changes are protected by a flag, i-am-sure=true, in order to avoid unwanted, potentially dramatic, configuration changes. This applies to:
    • configuration/module/servicesmap
    • reset
    • offline
    • online
    • onhold
    • addDataService
    • addDataSource
    Issue: CT-1317

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Installation and Deployment (1)

  • After starting up Tungsten components, a defunct process for each running component can be found in the process listing.

    Whilst this does not cause any issues, it could generate unnecessary alerts for customers monitoring.

    The cause has been identified and affects version 7.0.0 and 7.0.1. This will be fixed in the next 7.0.2 release.

    Issue: CT-1876

Improvements, new features and functionality (32)

Installation and Deployment (3)

  • Support has been added for Java 17 LTS
    Issue: CT-1706
  • Support now included for MariaDB 10.3+
    Issues: CT-1433, CT-1276
  • Two new tpm options have been included as part of the new API in this release.

    The options are used for setting the API admin user credentials and are as follows:

    Issue: CT-1327

Command-line Tools (11)

  • A new command (error) has been added to trepctl to output a full stack trace of the last error, if any.
    shell> trepctl -service <serviceName> error

    Event application failed: seqno=10 fragno=0 message=Table hr.regions not found in database. Unable to generate a valid statement.
    com.continuent.tungsten.replicator.applier.ApplierException: Table hr.regions not found in database. Unable to generate a valid statement.
    at com.continuent.tungsten.replicator.applier.JdbcApplier.getTableMetadata(JdbcApplier.java:582)
    at com.continuent.tungsten.replicator.applier.JdbcApplier.fillColumnNames(JdbcApplier.java:494)
    at com.continuent.tungsten.replicator.applier.JdbcApplier.getColumnInformation(JdbcApplier.java:1236)
    at com.continuent.tungsten.replicator.applier.MySQLApplier.applyOneRowChangePrepared(MySQLApplier.java:418)
    at com.continuent.tungsten.replicator.applier.JdbcApplier.applyRowChangeData(JdbcApplier.java:1460)
    at com.continuent.tungsten.replicator.applier.JdbcApplier.apply(JdbcApplier.java:1576)
    at com.continuent.tungsten.replicator.applier.ApplierWrapper.apply(ApplierWrapper.java:100)
    at com.continuent.tungsten.replicator.pipeline.SingleThreadStageTask.apply(SingleThreadStageTask.java:871)
    at com.continuent.tungsten.replicator.pipeline.SingleThreadStageTask.runTask(SingleThreadStageTask.java:601)
    at com.continuent.tungsten.replicator.pipeline.SingleThreadStageTask.run(SingleThreadStageTask.java:185)
    at java.base/java.lang.Thread.run(Thread.java:834)
    Issue: CT-1747
  • The tapi command now supports the --affinity argument which will display all Connector-specific affinity settings, along with --connectorstatus to show all.
    Issue: CT-1700
  • A new option to print the merged logs to STDOUT has been added to tungsten_merge_logs (--stdout|-O)

    The tpm command suite now properly supports the --profile argument to specify a Tungsten json configuration file in place of the installed tungsten.cfg.

    Issue: CT-1680
  • The tmonitor command now has better help text and more options to ease usage, including --filter to allow easy viewing of the tmonitor test output.
    Issue: CT-1585
  • The tungsten_purge_thl command is now a wrapper for the tpm purge-thl command.
    Issue: CT-1488
  • With the release of APIv2, a new cli tool has been introduced to allow easier access called tapi.

    In addition, the vast majority of Tungsten cli tools have been updated to optionally use the APIv2 interface when desired.

    The Nagios and Zabbix checks are also available via APIv2 using the tapi tool.

    Issue: CT-1454
  • tungsten_send_diag now supports a new command-line argument, --cleanup, which will cause the removal of the diagnostic archive file generated using the --diag argument.
    Issue: CT-1360
  • tpm diag now collects routing table information via route -n , and has two new command-line arguments: --include and --groups.

    --include specifies a comma-separated list of subroutines to include. Any gather subroutine not listed will be skipped.

    --groups specifies a comma-separated list of subroutine groups to include. Any group not listed will be skipped.

    Issue: CT-1322
  • A new tpm option purge-thl and a new script tungsten_purge_thlhave been added to allow easier and more intelligent THL purging across all nodes in a topology.

    This allow you to purge THL files based on the following rules:

    • Gather the last applied seqno from all Replica nodes and take the lowest one
    • Find the current THL file which contains that seqno, then locate the previous one
    • Construct a thl purge command to remove thl thru the last seqno in the prev file
    The default behavior is to display the needed commands for the admin to execute manually.
    Issue: CT-1273
  • Prometheus exporters mysqld_exporter and node_exporter are now included with the distribution packages.

    A new command line tool tmonitor is now available for the management and testing of external Prometheus exporters (node and mysqld), and for the testing of internal exporters (Manager, Connector and Replicator).

    Issue: CT-960
  • A new tpm option delete-service is now available to simplify the removal of clusters and/or replicator services.
    Issues: CT-210, CT-327, CT-1275

Backup and Restore (2)

  • Fixes an issue where tprovision could remove the SSL certs for MySQL on reprovision
    Issue: CT-1323
  • Added support for mariabackup using the following configurable tpm options:
    backup-method=mariabackup
    or
    backup-method=mariabackup-incremental
    Issue: CT-1100

Core Replicator (7)

  • In-Flight THL Compression is now available.

    For full details on enabling this feature, refer to "THL Encryption and Compression"

    Issue: CT-1420
  • The replicator will now be able to handle new SQL_MODES available in later releases of MySQL and MariaDB, these are as follows:
    • MySQL: TIME_TRUNCATE_FRACTIONAL
    • MariaDB: TIME_ROUND_FRACTIONAL, SIMULTANEOUS_ASSIGNMENT
    Issue: CT-1362
  • It is now possible to compress and/or encrypt THL on disk. For more information on using these features see"THL Encryption and Compression"
    Issue: CT-630
  • Added a new property to allow configuration of character set used during batch loading into MySQL targets.

    Default is utf8mb4. Override using the following:

    property=replicator.applier.dbms.loadCharset=utf8
    Issue: CT-1647
  • Added ability to the Batch Applier, to apply to a remote MySQL instance using LOAD DATA LOCAL INFILE.

    This is disabled by default, and can be enabled by the following property:

    property=replicator.applier.dbms.useLoadDataLocalInfile=true
    Issue: CT-1622
  • When using the MySQL Batch Applier, you can now choose to log rows into an error table that would otherwise have generated a duplicate key error.

    This is disabled by default, but can be enabled and configured by using the following two new properties:

    property=replicator.applier.dbms.errorTablePrefix=error_xxx_
    property=replicator.applier.dbms.batchLogDuplicateRows=true

    In addition, if your tables contain Foreign Keys, you can choose to disable them during the data loading process using the following property:

    property=replicator.applier.dbms.disableForeignKeys=true
    Issue: CT-1589
  • When using the MySQL Batch Applier, you can now choose to drop all deletes by specifying the following tpm property:

    property=replicator.applier.dbms.skipDeletes=true

    This is disabled (false) by default.

    Issue: CT-1588

PostgreSQL Replication (1)

  • Templates have been included for ddlscan to enable MySQL to Postgres Schema translation
    Issue: CT-1736

Amazon Redshift Replication (1)

  • Adds a new option redshiftCopyOptions that can be supplied in the s3.json file to include valid options that can be included in the Redshift COPY command when loading csv data from S3 into Redshift staging tables. See example below.
    {
    "awsS3Path" : "s3://your-bucket-for-redshift/redshift-test",
    "awsIAMRole" : "arn:iam-role",
    "redshiftCopyOptions" : "ACCEPTANYDATE ACCEPTINVCHARS TRUNCATECOLUMNS",
    "cleanUpS3Files" : "true"
    }
    Issue: CT-1298

Security (2)

  • Tungsten software now undergoes a rigorous security scan during QA. We also check included open-source/3rd-party software.
    Issue: CT-1579
  • Tungsten can now install on default CentOS and RedHat 8 with tightened security settings thanks to support of TLSv1.3
    Issue: CT-1359

Monitoring (1)

  • A number of new metrics have been added to the Prometheus exporters.
    Issues: CT-1615, CT-1266

Platform Specific Deployments (1)

  • ARM 64 bit processor support added (linux aarch64)
    Note
    Note that at time of release, there is currently no xtrabackup binary available for ARM.
    Issues: CT-1619, CT-1620

Other Issues (2)

  • IPv6 host addresses are now fully supported.

    Can be enabled with the following configuration property:

    prefer-ip-stack="6"

    By default, IPv4 is enabled, which equates to the value of "4" in the above property.

    Issue: CT-1537
  • General improvements in MySQL 8.0 support.
    Issue: CT-1346

connector (1)

  • Added support for TLSv1.3.

    Note that TLS 1.3 was introduced in jdk 8u272. So tpm will only set it by default for java 8u272 and later versions. It is still possible to force the protocol to be used via tpm flag tls-enabled-protocols=TLSv1.xxx

    Issue: CT-1367

Bug Fixes (44)

Installation and Deployment (2)

  • When services are deployed with systemd and MySQL could not start due to an error, tpm would not be able to later start MySQL
    Issue: CT-1734
  • Default systemd configuration files for Tungsten components no longer specifies the tungsten group to execute the command. This will prevent file access issues when tungsten user belongs to several groups.
    Issue: CT-1550

Command-line Tools (24)

  • The tpm diag command now handles zero-length mysqld.log files gracefully.
    Issue: CT-1740
  • tungsten_monitor.rb script no longer uses sudo to send emails if the configuration doesn't allow it.
    Issue: CT-1737
  • The tpm command now communicates properly when there is no INI configuration file or staging-method deploy.cfg configuration defined.
    Issue: CT-1712
  • tpm now parses the MYSQL SSL related setting correctly.
    Issue: CT-1662
  • When MySQL services were badly installed, some distribution could show a “not-found” status within systemctl, confusing tpm
    Issue: CT-1677
  • Fixes an issue where the deployall command would create a root owned wrapper.log in the ./tools directory.
    Issue: CT-1664
  • The tpm ask command no longer calls Data::Dumper when it is not available.
    Issue: CT-1626
  • The tungsten_find_orphaned command no longer fails with an 'Can't exec "/bin/sh": Argument list too long' error when there are too many THL files to parse.
    Issue: CT-1545
  • The tpm update command now handles updates/upgrades more gracefully when the previous version did not have the latest tpm framework.
    Issue: CT-1506
  • Database monitoring logs are now reporting the correct error number and SQL state when database errors occur.
    Issue: CT-1497
  • The tpm diag command now properly collects the system information file on Debian systems.
    Issue: CT-1492
  • The tpm purge-thl command now handles command-line arguments more intelligently.
    Issue: CT-1489
  • All tpm sub-commands now handle command-line arguments more intelligently.
    Issue: CT-1487
  • The tmonitor command no longer fails on Debian 9 and Ubuntu.
    Issue: CT-1485
  • tprovision (formerly tungsten_provision_slave) may fail to provision if the MySQL data directory was not accessible to the tungsten user.
    Issue: CT-1475
  • Fixes a monitoring bug with users using caching_sha2_password.
    Issue: CT-1406
  • The tpm command no longer aborts with a Use of uninitialized value errorwhen a stray tungsten.cfg file exists under $CONTINUENT_ROOT
    Issue: CT-1394
  • The tpm command no longer prints an error when run with no other command-line arguments.
    Issue: CT-1373
  • tungsten_send_diag no longer prints an error about Use of uninitialized value $diagArgs in concatenation.
    Issue: CT-1354
  • Fixes a security issue within the tpm diag command.
    Issue: CT-1295
  • The tpm update command will now exit with an error if any files not owned by the configured Tungsten OS user are found in the Tungsten installation directory.

    For example, if the OS user is tungsten and the installation directory is /opt/continuent, containing the file /opt/continuent/thl/archived_thl.zip owned by root would cause something like the following error to be produced, and tpm update would exit:

    Foreign-owned files found!

    Located files in the Tungsten installed directory /opt/continuent
    that are not owned by the Tungsten OS user (tungsten):

    /opt/continuent/thl/archived_thl.zip

    Please change the ownership of these files to OS user "tungsten"
    using the chown command as root via sudo, then rerun the `tpm update` command.

    For example:
    shell> sudo chown -R tungsten:tungsten /opt/continuent
    Issue: CT-1260
  • Fixes a bug in tprovision when using xtrabackup version 8, due to changes in xtrabackup binaries.
    Issue: CT-1248
  • In certain cases, tprovision would not be able to find the binary log position of the backup when taken from a primary. This has been fixed.
    Issue: CT-1085
  • The tpm command now checks the local host’s shortname in addition to the FQDN returned by the hostname command upon initialization.

    This fixes a bug that prevented tpm mysql from working on applier hosts running MySQL.

    Issue: CT-1414

Backup and Restore (1)

  • Fixed an issue where an xtrabackup generated by the replicator would fail to be restored using trepctl restore command.
    Issue: CT-1575

Core Replicator (10)

  • Added more debug information for detecting possible hanging connections while a THL client connects to the THL server. Also, added socket timeout for the connection initialization
    Issue: CT-1760
  • Fixed an issue where trepctl was leaving JMX connections opened.
    Issue: CT-1752
  • Fixed an issue when using Parallel apply that would show a NullPointerException in case an event could either not be found or be corrupted in THL. This will now display a correct message Missing or corrupted event from storage
    Issue: CT-1722
  • When connecting to a THL server, a client will now connect to the next available host in its THL URI, if the first does not have the sequence number that the client requires. The client will then fail only if none of the hosts from the URI can provide the needed sequence number.
    Issue: CT-1558
  • For row based events, SQL modes were not displayed in the THL output. This is now fixed.
    Issue: CT-1440
  • Fixes occurrences of NullPointerException that would occur when bringing the replicator online before MySQL was started.
    Issue: CT-1348
  • A change in the way MySQL logs CREATE TABLE AS SELECT in the Binary Logs from v8.0.20 onwards, meant these transactions would previously fail.
    Warning
    Whilst these statements will now replicate, it must be noted that in the event of a failure during the data load, the initial CREATE statement won't be rolled back, and therefore care must be taken when using this type of DDL.
    Note
    This only affects customers using MySQL v8.0.20+ running with ROW based replication. An alternative workaround to ensure correct rollback on failure, would be to run the statement with STATEMENT based replication for the session. This will also provide better performance for larger tables.
    Issue: CT-1301
  • When using parallel apply, the replicator would error with a Foreign Key constraint error if statements were issued against two or more objects that shared the same name, but with different case sensitivity, for example:
    mysql> create table testtable;
    mysql> drop table testtable;
    mysql> create table TestTable;
    Issue: CT-1259
  • The replicator metadata cache will now correctly handle table names whenlower_case_table_names=1 is set in the MySQL configuration.
    Issue: CT-651
  • Fixed an issue with the batch loader where DATETIME and TIME datatypes with milliseconds would be replicated as .000 instead of the real millisecond value.
    Issue: CT-1739

Heterogeneous Replication (1)

  • Fixes an issue where a heterogeneous (non-MySQL) applier would try to run MySQL syntax to set the timezone in use.
    Issue: CT-1324

Filters (2)

  • The BidiRemoteSlaveFilter could fail to correctly flag fragmented events in unprivileged environments (Aurora, for example) In such an environment (multi-active, unprivileged database access), a new setting was introduced to force extraction process to read ahead to the last fragment to detect the service name (false by default). Enabled with repl-svc-extractor-multi-frag-service-detection=true
    Issue: CT-1351
  • Includes previously missing template file to enable easy configuration of the dbrename filter.
    Issue: CT-1350

Security (1)

  • log4j libraries updated to v2.17.1 specifically to mitigate risk of exposure to the 0-day vulnerability detected in log4j v2.14
    Issue: CT-1703

oracle (2)

  • Fixes a bug in the MySQL to Oracle ddlscan templates that prevented them from executing
    Issues: CT-1735, CT-1756
  • Fixes an issue causing an error when using the ddl-mysql-oracle.vm template with ddlscan to convert MySQL schema DDL into Oracle DDL
    Issue: CT-1326

cmdlie (1)

  • Issuing dsctl set [--reset] against Aurora source and targets would fail with Access Denied errors. This is due to the inability to disable Binary Logging for specific transactions which dsctl issues. The errors did not prevent dsctl from working, however they were misleading.
    Issue: CT-1040

Version 6

Tungsten Clustering 6.1

Tungsten Clustering 6.1.25

Build: 6
Release Date: 7 Jul 2024
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.25 contains a specific feature request in Tungsten Connector and fixes a small bug in Tungsten Replicator.

Improvements, new features and functionality (1)

Connector (1)

  • In proxy mode, kill queries are now intercepted by the connector in order to replace the given thread_id by the underlying database connection thread_id.
    Note
    While executing the kill command, you might get an error like "Could not execute query kill query <id>: Unknown thread id: <id>". This can be ignored, the connection will still be properly killed.
    Issue: CT-2298

Bug Fixes (1)

Core Replicator (1)


Tungsten Clustering 6.1.24

Build: 6
Release Date: 11 Dec 2023
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.24 contains a critical bug fix to address an issue during failover.

Bug Fixes (1)

Manager (1)

  • Fixes an issue when the manager would wait longer than the timeout for replicator purge on a failover.
    Issue: CT-1733

Tungsten Clustering 6.1.23

Build: 2
Release Date: 31 Aug 2023
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.23 contains a number of critical bug fixes.

Bug Fixes (1)

Connector (1)

  • 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

Tungsten Clustering 6.1.22

Build: 5
Release Date: 6 Jul 2023
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.22 contains a number of critical bug fixes and it is advised customers running 6.1.21 should upgrade to this release.

Behavior Changes (1)

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 (1)

  • cctrl now accepts services names with capital letters, dots and hyphens
    Issue: CT-2163

Bug Fixes (5)

Installation and Deployment (1)

Core Replicator (3)

  • A change in the way MySQL logs CREATE TABLE AS SELECT in the Binary Logs from v8.0.20 onwards, meant these transactions would previously fail.
    Warning
    Whilst these statements will now replicate, it must be noted that in the event of a failure during the data load, the initial CREATE statement won't be rolled back, and therefore care must be taken when using this type of DDL.
    Note
    This only affects customers using MySQL v8.0.20+ running with ROW based replication. An alternative workaround to ensure correct rollback on failure, would be to run the statement with STATEMENT based replication for the session. This will also provide better performance for larger tables.
    Issue: CT-1301
  • Fixed an issue where an extracted JSON field could be invalid, with doubled commas in JSON arrays.
    Issue: CT-2049
  • 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 (1)

  • Note
    This bug only affects v6.1.21
    Removed extra logging for each "SET xxx" statement when in proxy mode. On top of polluting the logs, this extra logging can overwhelm the connector, making it slow to respond and have client threads pile up, up to the point where that could exhaust memory
    Issue: CT-2165

Tungsten Clustering 6.1.21

Build: 13
Release Date: 18 Apr 2023
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.21 contains a number of critical bug fixes and improvements.

Behavior Changes (3)

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)

  • Enabling a custom backup script does not require it to be made the default option anymore, i.e. Settingbackup-method to the custom backup script is not required anymore.
    Issue: CT-2039
  • The tungsten_skip_all command (along with alias tungsten_skip_seqno) now shows the full pendingExceptionMessage instead of just pendingError, and the More choice shows the pendingErrorEventId and the pendingError.
    Issue: CT-2030
  • No longer using connector graceful-stop together with systemd for upgrades. The underlying change of binary confuses systemd scripts.
    Issue: CT-2113

Known Issue (1)

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)

  • Note, this bug only affects this release, v6.1.21 Each "SET xxx" statement issued when in proxy mode is being logged. On top of polluting the logs, this extra logging can overwhelm the connector, making it slow to respond and have client threads pile up, up to the point where that could exhaust memory If using Proxy mode, it is advised to NOT install this release, and instead use either version 6.1.20 or 6.1.22
    Issue: CT-2165(ki)

Improvements, new features and functionality (4)

Command-line Tools (2)

Connector (1)

  • Improved smart scale handling of session and global changes so they're all played against connected replica or in case of reconnection. As an example, SET SESSION TRANSACTION READ ONLY will be sent to both primary and replica connections so that a subsequent SELECT @@SESSION.transaction_isolation will return the expected value, even if executed on a replica.
    Issue: CT-1600

Platform Specific Deployments (1)

  • ARM 64 bit processor support added (linux aarch64)
    Note
    Note that at time of release, there is currently no xtrabackup binary available for ARM.
    Issues: CT-1619, CT-1620

Bug Fixes (2)

Command-line Tools (2)

  • The tpm ask keys command now lists all available keys properly.
    Issue: CT-2041
  • The tungsten_get_status command now handles shunned nodes properly.
    Issue: CT-2026

Tungsten Clustering 6.1.20

Build: 5
Release Date: 19 Dec 2022
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.20 contains a number of critical bug fixes and improvements.

Behavior Changes (2)

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 (1)

  • Both the tungsten_get_ports and tpm report commands have been updated to use the ss OS command when the netstat OS command is unavailable or deprecated.
    Issue: CT-2007

Core Clustering (1)

  • Changed the behavior of the connector and manager upon local site failover: No longer sending write traffic to the remote site unless the local site is fully offline. In case of local failover, the connector will now pause connections until a new primary is elected. This will avoid risks of out-of-order apply after local failover
    Issue: CT-2009

Improvements, new features and functionality (3)

Command-line Tools (3)

  • The tungsten_get_ports command now uses values based on values obtained from tpm query values when possible for the greatest output accuracy.
    Issue: CT-2008
  • The tungsten_get_ports command now supports the /opt/continuent/tungsten/tungsten-connector/conf/interfaces.json file, if found.
    Issue: CT-2003
  • A new command has been added called tungsten_get_ports, which will display the running Tungsten processes and the associated TCP ports that those processes are listening on.
    Issue: CT-1970

Bug Fixes (5)

Command-line Tools (1)

  • Worked around a ruby issue where DNS name resolution was sometimes preferred to file-based resolution in TPM. The following logic now applies: first trying file-based host name resolution, upon failure try DNS, then through ping command
    Issue: CT-1653

Backup and Restore (1)

  • When running the cluster_backup in a Active/Active environment, when setting require_master_backupto false, the script would still attempt to backup the Primary as it would scan the wrong sub-service and incorrectly identify the Relay node as a candidate.
    Issue: CT-1280

Filters (1)

  • Fixed an issue where the dropsqlmodes filter would fail to remove invalid sql modes from a multi-statement event
    Issue: CT-1993

Manager (2)

  • The cctrl command datasource slave now sets the replicator role correctly. Previously, only the datasource role would change.
    Issue: CT-1882
  • A bug has been fixed that, in a few very rare cases, would allow replicas to continue to pull and apply THL from a failed primary whilst a failover was in the process of electing a new primary. This resulted in failovers being unable to complete fully. Whilst the new primary would be online and functioning, existing replicas in the cluster could experience errors due to THL discrepencies between the old and new primary nodes.
    Issue: CT-1986

Tungsten Clustering 6.1.19

Build: 22
Release Date: 17 Oct 2022
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.19 contains a number of critical bug fixes and improvements, specifically for customers using Parallel Replication.

Behavior Changes (3)

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 (1)

  • The check_tungsten.sh was deprecated in release 6.1.18 and has now been removed from this release.
    Issue: CT-1939

Core Replicator (1)

  • repl-svc-extractor-multi-frag-service-detection is now turned **ON** by default. Event shards are determined at extraction time. With fragmented events, the shard cannot be determined by only reading the first fragment, but needs to check the last fragment as well. With this setting turned OFF, there is no issue with pipelines that don't need it, i.e. no parallel apply downstream replicas. However, as this is done at extract time, THL contains this information, and adding or changing a replica using parallel apply could introduce issues.
    Note
    It can be disabled if you see a performance overhead but this should be done with caution. For Aurora<>Aurora Active/Active deployments it is essential that this property be left ON.
    Issue: CT-1959

Connector (1)

Improvements, new features and functionality (6)

Command-line Tools (4)

  • A new standalone status script has been added called tungsten_get_status that shows the datasources and replicators for all nodes in all services along with seqno and latency.
    Issue: CT-1962
  • The tpm ask command has five new variables available: dsrole & dsstate for the current datasource, and trrole & trstate for the current replicator, and nodeinfo which displays all 4 of the new variables.
    Issue: CT-1944
  • The tpm ask stages and tpm ask allstages commands have been added to display the Replicator stages for the current node (stages) and the stages for each role (allstages).
    Issue: CT-1943
  • The tpm command calls to glob have been improved to be more strict and compliant.
    Issue: CT-1940

Connector (2)

  • Added a connector mode command to print which mode the connector is running in, either "bridge" or "proxy"
    Issue: CT-1799
  • The connector graceful-stop command now supports systemd service manager properly. The connector stop command now takes an optional argument that will make it a graceful stop. If connector stop is run without the parameter, it will stop the connector immediately. If a positive number of seconds is passed, it will wait, at most, this timeout for connections to disconnect (refusing new connections), after which it will force close all connections and shutdown the connector. connector graceful-stop behavior is unchanged: without the parameter, the connector will wait "forever" for connections to disconnect. A positive timeout in seconds can be passed to sever connections after the given delay
    Issue: CT-1921

Bug Fixes (8)

Installation and Deployment (1)

Command-line Tools (2)

  • The tpm mysql command will now gracefully handle being run on a non-database node.
    Issue: CT-1946
  • Fixes an issue where the pause state would be badly displayed under no load, when the pause reaches the defined time. Note this is only a display issue : once an event is received, the pause state and displayed remaining time will be reset correctly.
    Issue: CT-1942

Core Replicator (3)

  • Fixed an issue where the replicator would hang after applying a DROP TABLE event, that originally failed on the primary, but got logged into the binlog.
    Issue: CT-1973
  • Fixed an issue where the shard_id stored in the trep_commit_seqno table would show an incorrect shard after processing a skipped event (an event from another channel)
    Issue: CT-1967
  • Fixes an issue that would leave a transaction uncommitted longer than necessary.
    Issue: CT-1958

Filters (1)

  • The BidiRemoteSlaveFilter could fail to correctly flag fragmented events in unprivileged environments (Aurora, for example) In such an environment (multi-active, unprivileged database access), a new setting was introduced to force extraction process to read ahead to the last fragment to detect the service name (false by default). Enabled with repl-svc-extractor-multi-frag-service-detection=true
    Issue: CT-1351

Connector (1)

  • Connector now auto detects default authentication plugin by retrieving MySQL data source variable default_authentication_pluginrather than just using MySQL server version
    Issue: CT-1926

Tungsten Clustering 6.1.18

Build: 54
Release Date: 7 Sept 2022
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.18 contains a number of minor bug fixes and improvements.

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 (2)

  • The tungsten_find_orphaned command now places the log file in$CONTINUENT_ROOT/service_logs/, not /tmp/
    Issue: CT-1866
  • The check_tungsten.sh script has been deprecated and no longer maintained. It will be removed in the next patch release and users should use the newer tmonitor commands.
    Issue: CT-1038

Backup and Restore (1)

  • From v8 of xtrabackup, the --stream=tar option was removed, meaning that backups could fail if using the newer release of the Percona tools

    In this release, the backups will now create the backup and then manually compress it

    Warning
    This change will increase the required disk space for backups to allow the post-backup compression to complete.
    Issue: CT-1346

Manager (1)

  • A failsafe shunned cluster (Caused by a network split) will be auto recovered after the network connection is re-established.
    Issue: CT-241

Improvements, new features and functionality (8)

Command-line Tools (5)

Core Replicator (2)

  • The thl list command now displays an approximate field size in bytes for row-based replication.
    Issue: CT-1847
  • Added a new feature that enables pausing a replicator stage for some amount of time.

    This will pause the given stage for 100 seconds:

    trepctl pause -stage thl-to-q -time 100

    This will pause the stage indefinitely (or until restart, etc) Add -y to avoid the prompt message whether you are sure.

    trepctl pause -stage thl-to-q

    For the previous 2 commands, running a pause command again will override the previous command.

    This will resume the suspended stage (Note that if the stage is not paused, this will have no effect):

    trepctl resume -stage thl-to-q
    Note
    Please note this pause does not survive a replicator restart or a service offline/online.
    Issue: CT-1912

Manager (1)

  • Added a new option to TPM manager-replicator-offline-timeout=[timeout_in_sec] that configures the timeout for the manager to wait until the replicator goes offline. When parallel applier is in use the default timeout was too low, so it’s now user configurable so that it can be adjusted to suit different topologies. If not supplied, the default is 180 (3 minutes). This value should be sufficent in most use cases.
    Issue: CT-1892

Bug Fixes (14)

Installation and Deployment (1)

  • Fixes issues where fixed properties and filters passed to tpm in service stanzas were not being configured correctly
    Issue: CT-1463

Command-line Tools (5)

  • undeployall script would not properly uninstall systemd services on some distributions including amazon linux.
    Issue: CT-1845
  • replicator start offline would not properly pass the offline argument to systemd scripts when installed through deployall.
    Issue: CT-1836
  • The tpm diag command now behaves properly when the MySQL server is logging to STDERR.
    Issue: CT-1935
  • The tpm diag command now gathers the mysql.log file when SSL is enabled in the server
    Issue: CT-1933
  • The tpm diag command now passes when the nodename defined in the tungsten.ini is the shortname, and DNS returns the FQDN.
    Issue: CT-1908

Backup and Restore (4)

  • Incremental backups can now be restored more than once.
    Issue: CT-1850
  • Restore will now succeed even if only one incremental backup has been created.
    Issue: CT-1842
  • During the backup/restore process the MySQL certificates are kept intact.
    Issue: CT-1841
  • Fixed an issue where an xtrabackup generated by the replicator would fail to be restored using trepctl restore command.
    Issue: CT-1575

Core Replicator (4)

  • Fixed an issue where filtered events would trigger a useless update to the service trep_commit_seqno table while it is overwritten anyway once the last statement of the applied event is done, just prior to committing the whole block.
    Issue: CT-1931
  • Fixes an issue that prevented geometry datatypes with SRID from being replicated.
    Issue: CT-1904
  • Fixed a possible issue when recovering an old primary as a replica after failover when parallel apply is enabled, that could lead the replica to be unable to come online and require a reprovisioning of this replica.
    Issue: CT-1890
  • Fixes an issue that would prevent a service from going offline at a specified time (trepctl online -until-time) when parallel apply is enabled. This is a rework of CT-1243.
    Issue: CT-1684

Tungsten Clustering 6.1.17

Build: 42
Release Date: 16 May 2022
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

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)

  • Changed output of thl purge command when no lower and upper bounds are given from 'Deleting events where' to 'Deleting all events'.
    Issue: CT-1738
  • The tpm diag command now gathers the output of the tpm ask summary command
    Issue: CT-1827
  • The following commands which call cctrl now support the pass-through -t secondstimeout argument which specifies how long cctrl will wait for a connection to the Manager process before aborting:
    • check_tungsten_latency
    • check_tungsten_online
    • check_tungsten_policy
    • check_tungsten_services
    • tungsten_show_processlist
    • zabbix_tungsten_latency
    • zabbix_tungsten_online
    • zabbix_tungsten_progress
    • zabbix_tungsten_services
    Issue: CT-1822

Backup and Restore (1)

  • Additional messaging has been added to the output displayed when running tprovision.
    Issue: CT-1689

Improvements, new features and functionality (5)

Command-line Tools (2)

  • The cctrl.log file is now accessible from the $CONTINUENT_ROOT/service_logs directory
    Issue: CT-1727
  • Added the ability to turn auto recovery on or off dynamically, removing the need to run tpm update. This is done by running the following command:
    shell> trepctl -service servicename setdynamic -property replicator.autoRecoveryMaxAttempts -value <number>
    Note
    The service must be offline before changing the property
    Issue: CT-1088

Connector (1)

Security (1)

  • Replaced official log4j library with a secured version in which all vulnerable classes have been removed. This prevents exposing the software following a (user) misconfiguration of the log4j properties
    Issue: CT-1810

Other Issues (1)

  • IPv6 host addresses are now fully supported. Can be enabled with the following configuration property:
    prefer-ip-stack="6"
    By default, IPv4 is enabled, which equates to the value of "4" in the above property.
    Issue: CT-1537

Bug Fixes (18)

Installation and Deployment (2)

  • When services are deployed with systemd and MySQL could not start due to an error, tpm would not be able to later start MySQL
    Issue: CT-1734
  • deployall script now properly displays the executable prefix for restarting services, typically mm_treplicator in Multi-Site/Active-Active replicator-only installs, as well as the full path to component binaries
    Issue: CT-1835

Command-line Tools (8)

  • The tpm diag command now handles Multi-Site/Active-Active topologies better.
    Issue: CT-1718
  • The tpm command now communicates properly when there is no INI configuration file or staging-methoddeploy.cfg configuration defined.
    Issue: CT-1712
  • When MySQL services were badly installed, some distribution could show a “not-found” status within systemctl, confusing tpm
    Issue: CT-1677
  • tungsten_monitor.rb script no longer uses sudo to send emails if the configuration doesn't allow it.
    Issue: CT-1737
  • tpm now properly reports errors upon timeout executing commands. Typically, when a host is down, when upgrading or installing,tpm will now properly report that pinging this host failed.
    Issue: CT-1819
  • The tpm connector command now properly passes the -e arguments to the mysql command.
    Issue: CT-1816
  • Improves the tpm diag command so that it waits 2 seconds for replicator thread dump to complete.
    Issue: CT-1792
  • The tpm update command no longer aborts during a staging deployment when the actual hostname does not match what is configured for the node names in tpm
    Issue: CT-1791

Backup and Restore (1)

  • Fixed an issue with latest xtrabackup 8.0.28
    Issue: CT-1838

Core Replicator (5)

  • When connecting to a THL server, a client will now connect to the next available host in its THL URI, if the first does not have the sequence number that the client requires. The client will then fail only if none of the hosts from the URI can provide the needed sequence number.
    Issue: CT-1558
  • Fixed an issue when using Parallel apply that would show a NullPointerException in case an event could either not be found or be corrupted in THL. This will now display a correct message Missing or corrupted event from storage
    Issue: CT-1722
  • Added more debug information for detecting possible hanging connections while a THL client connects to the THL server. Also, added socket timeout for the connection initialization
    Issue: CT-1760
  • Fixed an issue where trepctl was leaving JMX connections opened.
    Issue: CT-1752
  • Fixed the EnumToString and pkey filters to renew their database connections (every hour by default). This can be changed with the following properties:
    property=replicator.filter.enumtostring.reconnectTimeout=3600
    property=replicator.filter.pkey.reconnectTimeout=3600
    Issue: CT-1786

Connector (2)

  • Connector now mirrors the MySQL default connect_timeout by retrieving it from the primary when starting up. This timeout will apply to all connections made from the connector to MySQL servers. This setting can be over-ridden by using the following tpm property
    property=connectTimeout=VALUE
    If VALUE set to autodetect, this value will mirror the MySQL connect_timeout system variable. Set to 0 for infinite timeout.
    Issue: CT-1726
  • 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) which translates toconnector-allow-cross-site-reconnects-for-writes=false andconnector-allow-cross-site-reconnects-for-reads=trueIt is still possible to get the previous behavior (reconnecting transparently connections cross-site) by specifying bothconnector-allow-cross-site-reconnects-for-writes=true andconnector-allow-cross-site-reconnects-for-reads=true, at your own risk
    Issue: CT-1265

Tungsten Clustering 6.1.16

Build: 14
Release Date: 20 Dec 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.16 contains a number of minor bug fixes and improvements.

Behavior Changes (3)

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 (2)

  • The tungsten show processlist command has been re-located to the cluster-home/bin from tools/.
    Issue: CT-1695
  • The Perl-based command-line tools now include the latest version of JSON::PP
    Issue: CT-1679

Documentation (1)

  • Updated the open_source_licenses.txt file to include most up-to-date information for the included Perl modules.
    Issue: CT-1675

Improvements, new features and functionality (2)

Command-line Tools (2)

  • A new command tungsten_get_mysql_datadir has been added which will gather and display the actual running value for the mysql data directory (datadir) with any sym-links to the physical destination resolved.
    Issue: CT-1690
  • A new command, tungsten_merge_logs has been added which will gather Manager, Replicator and Connector logs into one file sorted by timestamp for easier troubleshooting.
    Issue: CT-1667

Bug Fixes (9)

Command-line Tools (5)

  • The tpm --help text now includes the --ini argument.
    Issue: CT-1693
  • The tpm diag command now uses sudo to read the mysqld.log file.
    Issue: CT-1685
  • The tpm ask tool now works properly on all supported Linux distros.
    Issue: CT-1682
  • The cluster-specific check_tungsten_online tool now properly checks the Replicator and validates the service name if provided.
    Issue: CT-1674
  • Now properly adds executable-prefix (when specified) to systemd boot scripts for the replicator.
    Issue: CT-1663

Core Replicator (2)

  • Fixes a replication issue with some JSON fields that would contain a single quote within the JSON text
    Issue: CT-1691
  • Fixes an issue where the replicator would loop forever if a wrong startup option was provided, e.g replicator start wrongNow, the replicator will stop with a fatal error message logged Unrecognized option: wrong - Shutting down
    Issue: CT-1672

Connector (1)

  • connector reconfigure, which allows seamless reconfiguration of the Tungsten Connector during tpm update, now properly reloads load balancers.
    Issue: CT-1655

Documentation (1)

  • The documentation for the tpm command now describes the use of the --ini argument fully.
    Issue: CT-1692

Tungsten Clustering 6.1.15

Build: 8
Release Date: 22 Oct 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.15 contains a number of minor bug fixes and improvements.

Behavior Changes (1)

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:

Backup and Restore (1)

  • Cluster backup now uses --source-data as mysqldump parameter from MySQL 8.0.26+
    Issue: CT-1635

Bug Fixes (7)

Command-line Tools (3)

  • Improved Perl-based command-line tools to use routines with no external dependencies in place of Data::Dumper
    Issue: CT-1630
  • Added missing connector capability flag CLIENT_PS_MULTI_RESULTS allowing multiple result sets to be retrieved when executing multiple select prepared statements.
    Issue: CT-1624
  • The tpm update command now handles the --replace-release argument properly when --ini is also specified.
    Issue: CT-1623

Backup and Restore (1)

  • tungsten_provision_slave would fail using mysqldump with MySQL version 8.0.26+ due to a warning about using --master-data=2
    Issue: CT-1612

Core Replicator (1)

  • Improved error reporting when the replicator is not able to open a file. This was causing a NullPointerException to be raised.
    Issue: CT-1618

Filters (1)

  • Fixed an issue with the ColumnNameFilter that was not resetting its internal connection to the database.

    This would then fail if the database connection would time out (e.g. MySQL wait_timeout reached). The connection is now renewed every 1 hour by default.

    This can be reconfigured to a different value by adding the following tpm property:

    property=replicator.filter.colnames.reconnectTimeout=<time in seconds>
    Issue: CT-1646

Connector (1)

  • The show slave status hook could use the wrong tracking schema in Composite Active/Passive clusters.
    Issue: CT-1625

Tungsten Clustering 6.1.14

Build: 35
Release Date: 17 Aug 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.14 contains a number of bug fixes and improvements in the Connectors, and improved handling of systemd integration, additionally XA transaction support is now available.

Improvements, new features and functionality (10)

Command-line Tools (7)

  • Improved the check_tungsten_online 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
    Issue: CT-1578
  • Improved the tpm command's internal logic and introduced a new sub-command, tpm ask.
    Issue: CT-1573
  • New ddlscan template (ddl-mysql-staging.vm) available to generate ddl required for staging tables when deploying the batch applier on a MySQL target.
    Issue: CT-1587
  • 3 new tpm flags have been added: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
    Issue: CT-1555
  • 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.
    Issue: CT-1542
  • Added tpm 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
    Issue: CT-1541
  • 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
    Issue: CT-1538

Backup and Restore (1)

  • A new tpm 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.
    Issue: CT-1595

Core Replicator (1)

  • Support for XA transactions has been added.
    Issue: CT-925

Manager (1)

  • A new tpm option has been added replica-tx-commit-levelValid 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.
    Issue: CT-1241

Bug Fixes (9)

Command-line Tools (7)

  • The check_tungsten_services -r command no longer takes an extended time to complete when the manager is not running.
    Issue: CT-1599
  • The tpm connector command now works when the application user's password contains double quotes.
    Issue: CT-1596
  • The tpm connector --samples command no longer displays the password in any example.
    Issue: CT-1593
  • The tungsten_generate_haproxy_for_api and tpm generate-haproxy-for-api command now properly skips sub-services inComposite Active/Active clusters.
    Issue: CT-1552
  • The tpm update command now properly parses the --ini argument.
    Issue: CT-1551
  • The --host argument to tpm connector now works properly. Support for the legacy --hosts is also included. Only one hostname may be specified to tpm connector.
    Issue: CT-1543
  • tpm was failing to check application password when single quoted.
    Issue: CT-1257

Connector (2)

  • 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.
    Issue: CT-1564
  • 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.
    Issue: CT-1560

Tungsten Clustering 6.1.13

Build: 45
Release Date: 27 May 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.13 contains a number of bug fixes, and contains a new Connector feature: Support for Proxy Protocol v1 (if supported by your underlying MySQL release)

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)

  • Ensure that all tools are available in the appropriate software packages.
    Issue: CT-1518
  • The tpm diag command now gathers the tungsten-manager/log/cctrl.log file.
    Issue: CT-1510
  • The tpm diag command now gathers tungsten-manager/log/console.log* files.
    Issue: CT-1500

Connector (1)

  • In a Composite Active/Active topology, connectors within both sites have read and write affinity set to the local site by default.
    Issues: CT-1502, CT-1505

Improvements, new features and functionality (3)

Command-line Tools (2)

  • A new tpm option delete-service is now available to simplify the removal of clusters and/or replicator services.
    Issues: CT-210, CT-327, CT-1275
  • A new utility, tungsten_skip_seqno has been added which allows events to be skipped based on filters, allowing the Tungsten Replicator to come back online with less manual intervention.
    Issues: CT-1511, CT-1453, CT-1087, CT-42

Connector (1)

  • Full support for proxy-protocol v1 has been added to Tungsten Connector.

    Proxy protocol specifications can be found [here](http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt)

    Enabling proxy-protocol:

    • You first need a compatible server, like MariaDB 10.3+ or Percona-5.6.25-73.0+, with the proxy protocol functionality enabled, for example in my.cnf: proxy-protocol-networks=*
    • Then install or update Tungsten with connector-enable-proxy-protocol=true

    You should now see the origin IP of the connecting application in place of the connector IP in show processlistand tungsten show processlist commands.

    Issue: CT-1533

Bug Fixes (7)

Command-line Tools (4)

  • tpm now supports new MariaDB my_print_defaults flag --defaults-file
    Issue: CT-1528
  • Fixed a tpm call to systemd services listing which was making tpm wrongly fall back to init.d. This issue was found when testing MariaDB 10.0.
    Issue: CT-1524
  • Fixes an issue where the undeployallcommand would create a root owned wrapper.log in the ./tools directory.
    Issue: CT-1516
  • This release includes a wide range of improvements and bug fixes for tpm and other command-line tools.
    Issue: CT-1509

Core Replicator (1)

  • Fixes an issue where null values in JSON structures were incorrectly quoted once replicated. For example :
    [{"example":null}]
    would be replicated as
    [{"example":"null"}]
    Issue: CT-1523

Connector (1)

  • Now properly supporting negative write affinity in Composite Active/Active clusters. For example you can now specifyaffinity=localSite,-remoteSite:localSite This allows access only to local sites for writes but still allows reads from remote sites if the local one goes down.
    Issue: CT-1507

Manager (1)

  • Fixes an issue in Composite Active/Active environments that would occasionally cause the primary node to be set to read only.
    Issue: CT-1424

Tungsten Clustering 6.1.12

Build: 53
Release Date: 8 Mar 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.12 is a minor bug fix release.

Improvements, new features and functionality (4)

Command-line Tools (1)

  • A new --no-routers cli option has been added to the cctrl command.

    Using cctrl --no-routers will suppress the collection and display of connectors when issuing the ls command. This is especially useful when there are a lot of connectors installed and gathering the information from them could take a lot of time, causing unexpected timeouts.

    Issue: CT-1437

Connector (1)

  • A new affinity feature has been added in this release that will allow you to define a dedicated datasource for writes within a Composite Active/Active deployment.

    This feature can be particularly useful to direct all writes for a specific user/application to a dedicated Write endpoint, where you need to remove any chance of writes in multiple clusters conflicting.

    This feature can be enabled in a number of ways :- Via edits to the user.map file for Proxy configurations, via calls during connection, or via the connector-affinity tpm option if using Bridge mode.

    Issues: CT-1369, CT-1457

Manager (1)

  • Minor improvements to rule handling in the managers.
    Issue: CT-1464

Monitoring (1)

  • Support has now been added to allow monitoring via the New Relic Insights API, using a new script tungsten_newrelic_event
    Issue: CT-892

Bug Fixes (8)

Command-line Tools (6)

  • If using tungsten_provision_slave to restore a previously failed Primary node, the provision could fail to recover the node.
    Issue: CT-1468
  • Fixed an issue where, in Composite Active/Active environments, tpm would ignore the affinity passed with the tpm flagconnector-affinity.
    Issue: CT-1465
  • When provisioning from a Primary node, in a Composite Active/Active environment, using tungsten_provision_slave, the replicator would fail to reset due to the incorrect service name being used.
    Issue: CT-1458
  • Replaced md5 hashing to sha256 within tpm to fix issues where tpm install would fail on FIPS enabled environments.
    Issue: CT-1451
  • In a Composite Active/Active environment, the tungsten_post_process command now intelligently handles cross-site filter properties in the INI so that any defined filters are appended to the default values for any option that resolves to property replicator.stage.q-to-dbms.filters
    Issues: CT-1372, CT-1449
  • If using mysqldump as your preferred choice of backup method, Stored Procedures and Functions would not be included in the generated dump file when using tungsten_provision_slave.
    Issue: CT-1339

Core Replicator (2)

  • If SSL is enabled between replicators for THL Transfer, and a source node fails and becomes unresponsive, or is slow/overloaded, the replicator on the replica can fail to go offline due to a timeout, remaining in a GOING-ONLINE:SYNCHRONIZING state.

    In a clustering environment, this can prevent failovers occurring due to the manager waiting for the replicator which is stuck in a timeout loop.

    Issue: CT-1459
  • A new mapcharset filter is included, which fixes collation incompatibilities when replicating from MySQL 8 to an older release (5.7 or 5.6)

    This new filter should be enabled within any MySQL applier where the source is generated from a MySQL 8 database and the target is MySQL 5.7 or lower.

    Issue: CT-1404

Tungsten Clustering 6.1.11

Build: 6
Release Date: 21 Jan 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.11 is a critical bug fix addressing an issue found in the Managers.

Bug Fixes (1)

Manager (1)

  • Fixed a bug in the Hedera library that prevented Managers from pass through the init state.
    Issue: CT-1415

Tungsten Clustering 6.1.10

Build: 4
Release Date: 15 Dec 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.10 is a critical bug fix addressing an issue with Parallel Apply within a clustered environment.

Improvements, new features and functionality (2)

Command-line Tools (1)

  • tpm diag outputting table information via route -n , and has two new command-line arguments: --include and --groups.

    --include specifies a comma-separated list of subroutines to include. Any gather subroutine not listed will be skipped.

    --groups specifies a comma-separated list of subroutine groups to include. Any group not listed will be skipped.

    Issue: CT-1399

Filters (1)

  • A number of sql_modes have been removed in MySQL 8.0, meaning that when replicating from an earlier version (e.g. 5.7) the applier could error when applying session variables.

    A new dropsqlmode filter is now available that should be configured against appliers where the source is version 5.7 or earlier and the target is version 8.0 or later.

    Issue: CT-1361

Bug Fixes (1)

Manager (1)

  • If parallel apply has been enabled, automatic failovers could hang indefinitely if one or more channels are inactive.
    Important
    All customers using parallel apply are urged to apply this release to avoid production outages due to this known issue.
    Issue: CT-1407

Tungsten Clustering 6.1.9

Build: 9
Release Date: 23 Nov 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.9 is a minor bug fix release containing a fix for a critical bug within the Replicator related to the handling of Timezone.

Improvements, new features and functionality (1)

Command-line Tools (1)

  • A new script is available, tungsten_generate_haproxy_for_api. This script will read all available INI files and dump out corresponding haproxy.cfg entries with properly incrementing ports; the composite parent will come first, followed by the composite children in alphabetical order. This script will be embedded as a tpm command in a future release.
    Issue: CT-1385

Bug Fixes (3)

Command-line Tools (2)

  • tungsten_find_orphaned no longer hangs when the password keyword exists by itself under[client] in my.cnf, which caused mysqlbinlog to issue a password prompt.
    Issue: CT-1387
  • tpm update no longer fails when using the staging method to upgrade to a new version.
    Issue: CT-1381

Core Replicator (1)

  • In some edge case scenarios, the replicator was not setting the session time_zone correctly when preceding sessions had a different time_zone applied, this could lead to situations where TIMESTAMP values could be applied into replica nodes with an incorrect time_zone offset applied.
    Issue: CT-1390

Tungsten Clustering 6.1.8

Build: 14
Release Date: 2 Nov 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.8 is a minor bug fix release.

Bug Fixes (6)

Command-line Tools (1)

Core Replicator (2)

  • In MySQL releases using old row events format (MySQL 5.6 or earlier), Delete_rows_v1were badly handled, leading to an extraction error when handling such an event type.
    Issue: CT-1358
  • Fixes an issue that would prevent a service from going offline at a specified time (trepctl online -until-time) or at a specific seqno (trepctl online -until-seqno) when parallel apply is enabled.
    Issue: CT-1243

Manager (3)

  • Fixes a memory leak when unrecognized connections to manager port 11999 were made.
    Issue: CT-1357
  • A network partition between primary and relay sites with port 11999 still functioning was leading to full connectivity outage. Managers now send data services configuration with every node update (one per node every 3s) so that connectors remain up-to-date even in that corner case.
    Issue: CT-1356
  • Managers now accept both unencrypted and TLS connections from connectors. This allows migrations when security is enabled from earlier versions to 6.1.2+, as well as seamless switch to encrypted connector-manager communications.
    Important
    When upgrading to this release from an earlier release, and SSL is either already enabled, or being enabled as part of the upgrade, it is important that managers are upgraded **before** the connectors.
    Note that non-secured connectors connections will trigger a warning in the manager logs:
    WARN [RouterGatewayServer] - Un-encrypted connection request from <connector address> while this manager
    is configured to use SSL. This is expected ONLY when migrating manager<>connector communication to SSL.
    Otherwise it might be a misconfiguration of this connector.
    Issue: CT-1320

Tungsten Clustering 6.1.7

Build: 13
Release Date: 5 Oct 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.7 was a minor bug fix release containing a fix for SSL Communications specific to clustering deployments.

Bug Fixes (4)

Connector (4)

  • Disables the Naggle algorithm (TcpNoDelay=true) on SSL Sockets which causes performance degradation on SSL communications within the connector.
    Issue: CT-1331
  • Allows configuration of the protocols and cipher suites to use within the drizzle driver for SSL communications to the database server.

    New TPM parameters can be used to control this. New parameters are as follows:

    connector-server-ssl-protocols=protocol1[,protocol2,...]
    connector-server-ssl-ciphers=cipher1[,cipher2,...]

    For example:

    connector-server-ssl-protocols=TLSv1.2
    connector-server-ssl-ciphers=TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA512

    Default values for connector-server-ssl-protocols will be TLSv1,TLSv1.1,TLSv1.2.

    Default values for connector-server-ssl-ciphers will be to allow all cipher suites supported by the running JVM.

    Issue: CT-1335
  • When the Primary node is not available (for example during switch/failover), the connector would pause incoming RO_RELAXED connection requests even if a Replica is available for reads.
    Note
    This only applies to connectors configured in Bridge Mode.
    Issue: CT-1337
  • c3p0 libraries upgraded to version 0.9.5.5 and adjusted recommended pool configuration.
    Issue: CT-1343

Tungsten Clustering 6.1.6

Build: 6
Release Date: 20 Aug 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.6 is a minor bug fix containing a fix for Composite Active/Active environments.

Bug Fixes (2)

Command-line Tools (1)

  • tpm install and tpm update will now call tungsten_post_process automatically to ensure cross-site specific configurations are applied at the right time during the install and update process within Composite Active/Active installations.
    Issue: CT-761

Core Replicator (1)

  • Allows multiple service names to be supplied to property=local.service.name when configuring bi-directional replication between a Composite Active/Passive cluster topology and a MySQL target to prevent loopback of transactions.
    Issue: CT-1308

Tungsten Clustering 6.1.5

Build: 20
Release Date: 5 Aug 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.5 is a small interim bug fix with a number of issues resolved within the Core Replicator, and a specific issue within Tungsten Connector in Multi-Cluster Environments.

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Core Replicator (1)

  • In MySQL release 8.0.21 the behavior of CREATE TABLE ... AS SELECT ... has changed, resulting in the transactions being logged differently in the binary log. This change in behavior will cause the replicators to fail.

    Until a fix is implemented within the replicator, the workaround for this will be to split the action into separateCREATE TABLE ... followed by INSERT INTO ... SELECT FROM... statements.

    If this is not possible, then you will need to manually create the table on all nodes, and then skip the resulting error in the replicator, allowing the subsequent loading of the data to continue.

    Issue: CT-1301

Bug Fixes (4)

Core Replicator (3)

  • Fixes a bug in the Drizzle Driver whereby a failing prepared statement that exceeds 1000 characters would report aString index out of range: 999 error rather than the actual error.
    Issue: CT-1303
  • If filtering is in use, and a space appeared on either side of the delimiter in a "schema.table" definition in your SQL, the replicator would fail to parse the statement correctly.

    For example, all of the examples below are valid SQL but would cause a failure in the replicator:

    sql> CREATE TABLE myschema. mytable (....

    sql> CREATE TABLE myschema .mytable (....

    sql> CREATE TABLE myschema . mytable (....
    Issue: CT-1278
  • When replicating data that included timestamps, the replicator would update the timestamp value to the time within the commit from the incoming THL. When using statement based replication times would be correctly replicated, but if using a mixture of statement and row based replication, the timestamp value would not be set back to the default time when switching between statement and row based events. This would not cause problems in the applied host, except when log-slave-updateswas enabled. In this case, all row-based events after a statement based event would have the same timestamp value applied.

    This was most commonly seen when using the standalone replicator to replicate into a Cluster, either from a standlone source, or a cluster source.

    Issue: CT-1255

Connector (1)

  • Connector would fail to properly find appropriate data service for its auto-configuration. Now using the service provided in the user map when present.
    Note
    This fix is also available in build 51 of the 6.1.4 release.
    Issue: CT-1277

Tungsten Clustering 6.1.4

Build: 51
Release Date: 12 Sept 2025
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.4 contains a number of improvements and bug fixes, specifically for the tpm command line tool and stability improvements for Composite Active/Active topologies. In addition, this release now fully supports the latest binlog compression feature of MySQL 8.0.20.

Improvements, new features and functionality (11)

Command-line Tools (5)

  • Improves tpm performance by using more efficient routines to calculate paths.
    Issue: CT-1168
  • Added the ability for tpm diag to skip both individual gather subroutines along with entire groups of gather subroutines. Also added ability to list all gather groups and subroutines using --list for use with the --skip and--skipgroups cli arguments.
    Issue: CT-1176
  • tungsten_provision_slave has been rewritten fixing a number of issues in the previous release. This version was previously released as the Beta script prov-sl.sh.
    Issue: CT-1208
  • A number of performance improvements and fixes have been incorporated into the Drizzle Driver used for communication between components and MySQL, these include:
    • Better handling of large queries close to max network packet size.
    • Batch Support. Instead of sending statements one by one, the driver will be able to send multiple statements at once, avoiding round trips between the driver and MySQL server.
    • Fixes issues with interpreting useSSL on connect string URLs.
    Issues: CT-1215, CT-1216, CT-1217, CT-1228
  • The tungsten_send_diag command now accepts arguments for the tpm diagcommand using --args or -a for short. You must enclose the arguments in quotes, for example:
    shell> tungsten_send_diag -c 9999 -d --args ‘--all -v’
    Issue: CT-1220

Core Replicator (4)

  • A new replicator role thl-client has been added. This new role allows the replicator to download THL from a Primary, but not apply to the target database.
    Issue: CT-1123
  • A new delayInMs filter has been added which allows the applying of THL to a Replica to be delayed. The filter allows millisecond precision. This filter works in the same way as the TimeDelayFilter, however that filter only allows second precision.
    Issue: CT-1191
  • A new droprow JavaScript filter has been added. The filter works at ROW level and allows the filtering out of rows based on one or more column/value matches
    Issue: CT-1213
  • Tungsten Replicator can now correctly extract and parse Binary Log entries when the MySQL option binlog-transaction-compression has been enabled.binlog-transaction-compression is a new parameter introduced from MySQL 8.0.20.
    Issue: CT-1223

Manager (2)

  • When a Primary is OFFLINE or SHUNNED, we no longer mark the whole data service as OFFLINE.
    Note
    This will allow reading from Replicas to continue even if the Primary is offline.
    Issue: CT-1152
  • In a Composite Active/Active topology, the relay hosts, by default, will pull THL from the remote Primaries. This can be changed to pull from remote Replica(s) by use of the following setting policy.slave.promotion.latency.threshold=true
    Note
    This is a change in behaviour. From version 6.0.4 up to and including 6.1.3, the default behaviour was configured to pull from the remote Replica(s).
    Issue: CT-1211

Bug Fixes (30)

Command-line Tools (19)

  • In certain edge cases, tungsten_provision_slave would fail to detect if mysql was shutdown.
    Issue: CT-1096
  • tpm diag now collects directories specified with !includedir in the/etc/my.cnf file.
    Issue: CT-1153
  • Fixes the tpm update command, which would exit with the error:
    Argument " (error code 1)" isn't numeric
    Issue: CT-1165
  • tpm diag now collects any files specified by !include directives in the/etc/my.cnf and /etc/mysql/my.cnf files.tpm diag also looks in /etc/mysql/my.cnf for !includedir directives
    Issue: CT-1169
  • Fixes a bug which prevented tungsten_send_diag from uploading a self-generated diagnostic zip file.
    Issue: CT-1170
  • tpm diag now properly derives the correct target path to the releases directory if the home directory in the configuration points to a sym-link.
    Issue: CT-1172
  • Removed tpm diag call to sudo for gathering ifconfig and lsb_release commands.
    Issue: CT-1175
  • tpm update would fail and report errors if deployall had been executed.
    Issue: CT-1179
  • tpm diag no longer requires the mysql command-line client when running on non-MySQL Applier nodes, and no longer attempts to gather any MySQL diagnostic information.
    Issue: CT-1188
  • Removes the requirement to execute component start/stop commands with sudo when called through systemd. This is specific to start/stop actions following the use of the deployall scripts.
    Issue: CT-1193
  • Fixes cases where tpm fails when the OS hostname command returns a different string than what is used in the configuration (i.e. hostnamereturns a FQDN, yet the configuration contains shortnames like db1, db2, etc.).
    Issue: CT-1206
  • In certain cases, after a reprovision, tungsten_provision_slave didn’t always run the steps to reset the local replicator service. This made the replicator go into an error state after provision had completed.
    Issue: CT-1210
  • The tpm diag command now handles the cluster-slave topology more gracefully, and properly handles cluster nodes without the Connector installed. Improved output text clarity by converting multiple verbose-level outputs to debug, and warnings to notice-level.
    Issue: CT-1222
  • tpm diag now gathers sym-linked files correctly.
    Issue: CT-1232
  • Fixes a situation where tpm update exits with a Data::Dumper error.
    Issue: CT-1249
  • The tpm diag command now captures ls output from the Composite dataservice when appropriate.
    Issue: CT-1139
  • Fixes an issue where affinity specified in the configuration (connector-affinity) was ignored since it was not written to user.map (this affects proxy configurations only).
    Issue: CT-1146
  • Fixed a bug where tpm diag would fail to gather some MySQL information on a Composite Active/Active node.
    Issue: CT-1167
  • Fixed a bug in tungsten_post_process where the /etc/tungsten/tungsten.inifile would not be read properly. Also adds two warnings for skipped entries and corrects a typo in the property definitions.
    Issue: CT-1198

Core Replicator (4)

  • Tungsten Replicator could wrongly think it is already in DEGRADEDmode when trying to put it into DEGRADED state.
    Issue: CT-1131
  • When host server time (and thus MySQL time) is **not** configured as UTC, issuing cluster heartbeat or trepctl heartbeat in the first hours around daylight savings time would create an invalid time in MySQL.
    Issue: CT-1174
  • Due to a change in the Binary log structure introduced in MySQL 8.0.16, the replicator would fail to extract transactions for Partitioned tables.
    Issue: CT-1201
  • The replicator would fail to correctly parse statements with leading comment blocks in excess of 200 characters.
    Issue: CT-1236

Connector (3)

  • Fixed an issue where connector client-list and the Proxy-mode command, tungsten show processlist, would report NullPointerException errors when listing disconnected client applications.
    Issue: CT-1177
  • When in proxy mode and fetching data source configuration at startup, the Connector will now properly parse, and use, affinity (and other URL options if any) to establish the connection.
    Issue: CT-1212
  • Fixes an issue where connections with multiple affinity would not keep the current channel and reconnect to the database server while the connection could be reused.
    Issue: CT-1250

Manager (4)

  • In certain edge case situations, the manager could choose a manually shunned node as a viable node during failover.
    Issue: CT-1115
  • Issuing cluster topology validate within cctrl would fail if the cluster contained an Active Witness host.
    Issue: CT-1180
  • Piping multiple commands to cctrl that would affect components in a remote cluster would fail, for example:
    shell> echo "use east; replicator db5 offline" | cctrl
    Issue: CT-1209
  • Resolves an edge case in a Composite Active/Passive topology, with 2 or more Composite Passive dataservices, where a switch of a relay node in a single Replica service would incorrectly reconfigure all relays in the other Replica services.
    Issue: CT-1214

Tungsten Clustering 6.1.3

Build: 43
Release Date: 12 Sept 2025
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.3 contains a small number of critical bug fixes that can affect customers operating geo-distributed clusters across high latency network links, along with a small number of improvements and fixes to common command line tools.

Behavior Changes (3)

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)

  • tpm diag has been updated to provide additional feedback detailing the hosts that were gathered during the execution, and also provides examples of how to handle failures When running on a single host configured via the ini method:
    shell> tpm diag
    Collecting localhost diagnostics.
    Note: to gather for all hosts please use the "-a" switch and ensure that you have paswordless &raquo;
    ssh access set between the hosts.
    Collecting diag information on db1.....
    Diagnostic information written to /home/tungsten/tungsten-diag-2020-02-06-19-34-25.zip
    When running on a staging host, or with the -a flag:
    shell> tpm diag [-a|--allhosts]
    Collecting full cluster diagnostics
    Note: if ssh access to any of the cluster hosts is denied, use "--local" or "--hosts=<host1,host2,...>"
    Collecting diag information on db1.....
    Collecting diag information on db2.....
    Collecting diag information on db3.....
    Diagnostic information written to /home/tungsten/tungsten-diag-2020-02-06-19-34-25.zip
    Issue: CT-1137
  • Improved the tungsten_find_position script to add the ability to specify the low and high sequence numbers which limits the amount of THL the script needs to parse. This allows for better performance and lower system overhead. Also allows the use of the--file option.
    [-f|--file] Pass specified file to the thl command as -file {file}
    [--low|--from] Pass specified seqno to the thl command as -low {seqno}
    [--high|--to] Pass specified seqno to the thl command as -high {seqno}
    Issue: CT-1143
  • tpm diag : make the output from remote host diagnostic gathering visible in addition to alerting when a host is not reachable.
    Issue: CT-1158

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Backup and Restore (1)

  • The backup process, when configured to use Xtrabackup, uses the --stream=tar option as one of the options passed to the backup process. This option is no longer available in Xtrabackup 8.0 If you use Xtrabackup 8.0 in combination with MySQL 8, generating backups using the procedures available in Tungsten Clustering will fail. Until a fix is available and to allow backups to continue you will need to make the following edit to the configuration After installation, open the static-servicename.properties file located in INSTALL_PATH/tungsten/tungsten_replicator/conf Locate the following entry replicator.backup.agent.xtrabackup.options and within the string value, change the value of tar=true to tar=falseIf the replicator is already running, then you will need to issue replicator restart for the change to take effect
    Warning
    Changing the properties file directly will cause future tpm update commands to fail, therefore you should run this with the --force option, and then re-edit the file as per the above instructions to reset the tar option
    Issue: CT-1157

Bug Fixes (14)

Command-line Tools (12)

  • tpm would fail to run on some Operating Systems due to missing realpathtpm has been changed to use readlink which is commonly installed by default on most operating systems, however if it is not available, you may be required to install GNU coreutils to satisfy this dependency
    Issue: CT-1124
  • Removed dependency on perl module Time::HiRes from tpm
    Issue: CT-1126
  • Added support for handling missing dependency (Data::Dumper) within various tpm subcommands
    Issue: CT-1130
  • tpm will now work on MacOS/X systems, provided greadlink is installed.
    Issue: CT-1147
  • tpm install will no longer report that the linux distribution cannot be determined on SUSE platforms.
    Issue: CT-1148
  • Fixes a condition where tpm diag would fail to set the working path correctly, especially on Debian 8 hosts.
    Issue: CT-1150
  • tpm diag now checks for OS commands in additional paths (/bin, /sbin, /usr/bin and /usr/sbin)
    Issue: CT-1160
  • Fixes an issue introduced in v6.1.2 where the use of the undeployall script would stop services as it removed them from systemctl control
    Issue: CT-1166
  • tpm diag would fail to collect diagnostics for relay nodes within a Composite Active/Passive Topology
    Issue: CT-1140
  • Fixes an edge case whereby tpm mysql would fail on a node within a Composite Active/Active topology.
    Issue: CT-1151
  • tpm diag now gathers all hosts in a staging deployment when run from a non-staging node.
    Issue: CT-1155
  • tpm diag : fix ensures collection of diagnostics from standalone connector hosts.
    Issue: CT-1159

Core Replicator (1)

  • The replicator would fail with Unknown column '' in 'where clause when replicating between MySQL 8 hosts where the client application would write data into the source database host using a different collation to that of the default on the target database. The replicator would fail due to a mismatch in these collations when querying theinformation_schema.columns view to gather metadata ahead of applying to the target
    Issue: CT-1145

Manager (1)

  • During a local Primary switch within a Composite Active/Active Topology, where there is a high latency link between clusters, the switch could intermittently fail due to an incorrect rule triggering as the remote cluster sees an incorrect state in the opposing cluster
    Issue: CT-1141

Tungsten Clustering 6.1.2

Build: 94
Release Date: 20 Jan 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Behavior Changes (3)

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:

Behavior Changes (2)

  • The Passive Witness functionality is now officially DEPRECATED and will be REMOVED in version 6.2
    Issue: CT-653
  • Certified the Tungsten product suite with Java 11. A small set of minor issues have been found and fixed (CT-1091, CT-1076) along with this certification. The code is now compiled with Java compiler v11 while keeping Java 8 compatibility. Java 9 and 10 have been tested and validated but certification and support will only cover Long Term releases.
    Known Issue
    With Java 11, command line tools are slower. There is no impact on the overall clustering or replication performance but this can affect manual operations using CLI tools such as cctrl andtrepctl
    Issue: CT-1052

Installation and Deployment (1)

  • In cluster deployments with witness nodes, if the MySQL servers had been configured to listen on any port other than the standard 3306, the tpm command would default to the wrong port number. When witness hosts are in use, the tpm command will no longer "guess" the data source port automatically by running my_print_defaults. It is now mandatory to specify the MySQL data server port explicitly usingdatasource-port=[mysql_listen_port] or one of its aliases
    Issue: CT-1071

Improvements, new features and functionality (7)

Command-line Tools (4)

  • The tpm command was originally written in Ruby. This improvement converts tpmto Perl over time, starting with the tpm shell wrapper and refactoring each sub-command one-by-one. For this release, we have redone the diag, mysql and connector sub-commands. This also wraps the update sub-command to provide the CT-1093 clustering fix.
    Issue: CT-1048
  • This version includes an update to the new BETA tool to provision Replicas, and Primaries in a Composite Active/Active topology. This release fully supports provisioning of nodes in a Composite Active/Active Topology. It can be invoked by running prov-sl.sh or tps.pl. This tool will replace tungsten_provision_slave in a future release.
    Issue: CT-1070
  • Added the tpm policy subcommand to allow easy get and set cluster policy operations instead of using cctrl. For more information, please see "The tpm policy Command"
    Issue: CT-1106
  • The new changes made to the tpm command, require that the zip package be installed on all DB hosts
    Issue: CT-1111

Core Replicator (2)

  • A new JavaScript filter dropddl.js has been added to allow selective removal of specific object DDL from THL.
    Issue: CT-1092
  • A new Replicator role, thl-server, has been added. This new feature allows your Replica replicators to still pull generated THL from a Primary even when the Primary replicator has stopped extracting from the binlogs. If used in Tungsten Cluster, this feature must only be enabled when the cluster is in MAINTENANCE mode.
    Issue: CT-58

Manager (1)

  • The new default datasources sort order is alphabetical when using the cctrl ls command. Additionally, the sort order of the datasources list is now configurable. The behavior is controlled by the tpm configuration property cctrl.sort.datasources.alphabetically which has a default value of true (meaning alpha sort). If set to false, the sort is ordered by datasource role, so the Primary or relay will appear first, followed by the Replicas. For example, use the following in the INI file for role-based sorting:
    property=cctrl.sort.datasources.alphabetically=false
    Issue: CT-1018

Bug Fixes (22)

Behavior Changes (1)

  • Corrected resource leak when loading Java keystores
    Issue: CT-1091

Installation and Deployment (1)

Command-line Tools (6)

  • When performing an update of a cluster withtpm, the cluster would be switched toMAINTENANCE but would remain in this policy after the update. The original policy is now retained during the update.
    Issues: CT-595, CT-1093
  • The deployall script was only able to install init.d system startup scripts. In this release, the script will now detect the initialization system in use (systemd or initd) and prefer systemd when both are available. **For systemd configurations only:** For continuity of service reasons, the deployall script does NOT restart individual components when called, it will only install systemd scripts. This implies that, right after a call todeployall and before host restart, the system will stay in a mixed mode where systemd scripts are in place but components were started without systemd, so won’t be controllable by it. In order to align the configuration, you will need to run
    shell> component stop sysd
    shell> sudo systemctl start tcomponent
    For example:
    shell> connector stop sysd
    shell> sudo systemctl start tconnector
    Issue: CT-853
  • When issuing tpm connector --samples, the output displayed clear text passwords. In this release the passwords are obfuscated.
    Issue: CT-1021
  • Continuent Tungsten Clustering now uses the xtrabackup command instead of the deprecated innobackupex to create and restore backups. A new check was added to TPM for validating different xtrabackup versions along with MySQL version compatibility. The oldest supported version of xtrabackup is v2.3
    Issue: CT-1074
  • Fixed error message to indicate the need to specify a service on Composite Active/Active clusters for thetungsten_find_position and tungsten_find_seqno commands.
    Issue: CT-1098
  • The tpm command no longer reports warnings about existing system triggers with MySQL 8+
    Issue: CT-1099

Core Replicator (4)

  • When configuring SSL for the Connector only, the Replicator would fail to start due to the Replicator also looking for the SSL configuration.
    Issue: CT-956
  • The following warnings would appear in the replicator log due to GTID events not being handled.
    WARN extractor.mysql.LogEvent Skipping unrecognized binlog event type 33, 34 or 35)
    The WARN message will no longer appear, however GTID Events are still not handled in this release, but will be fully extracted in a future release.
    Issue: CT-1114
  • If a JSON field contained a single quote, the replicator would break during the apply stage whilst running the generated SQL into MySQL. Single quotes will now be properly escaped to solve this issue
    Issue: CT-983
  • Under rare circumstances (network packet loss or MySQL Server hang), the replicator would also hang until restarted. This issue has been fixed by using specific network timeouts in both the replicator and in the Drizzle jdbc driver connection logic
    Issue: CT-1034

Connector (2)

  • Fixed an issue where some applications might fail to connect to the Connector with MariaDB 10+ Previously, when using MariaDB 10+, the Connector would be confused by the 10 and will think it is a MySQL 8+ server. By default, the Connector will offer to connect with caching_sha2_password. If the application does not know how to switch authentication plugins, it would fail with a message similar to the following:
    The server requested authentication method unknown to the client [caching_sha2_password]
    The previous work-around was to specify the authentication plugin using the tpm command:
    --property=defaultAuthPlugin=mysql_native_password
    Issue: CT-1033
  • Improved Tungsten Connector bridge mode performance when transferring small amounts of data.
    Issue: CT-1081

Manager (8)

  • When using the cctrl command interactively, the cluster topology TAB completion was showing invalid options. Invalid options have been removed.
    Issue: CT-979
  • Fixed an issue where long-duration operations like failover and switch would create false positives about network partitioning after completion.
    Issue: CT-1023
  • Fixed the cctrl command so that the '[SSL]' indicator in the `ls` output is displayed. This is a Version 5 feature that was lost in v6.0.0, now restored.
    Issue: CT-1061
  • Fixed the cctrl command datasource restore which was failing inComposite Active/Active cluster deployments with: <errortext>ERROR: MORE THAN ONE PRIMARY DATA SOURCE FOUND</errortext>.
    Issue: CT-1062
  • Continuent Tungsten Clustering now only checks for a running MySQL server when the backup method is 'mysqldump' in cctrl. Background: Running datasource restore inside cctrlwould fail when the MySQL server was not running. Only the 'mysqldump' method requires a running MySQL server. The 'xtrabackup-full' and 'xtrabackup-incremental' methods will work even if MySQL is stopped.
    Issue: CT-1077
  • tungsten_find_orphaned was displaying an incorrect error message if a service name wasn't supplied correctly.
    Issue: CT-1079
  • tungsten_find_orphaned would error with 'Argument "" isn't numeric in addition'.
    Issue: CT-1080
  • Fixed an issue where Composite clusters with only a single site would come up as SHUNNED after install.
    Issue: CT-1101

Tungsten Clustering 6.1.1

Build: 130
Release Date: 28 Oct 2019
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.1 contains both significant improvements as well as some needed bugfixes.

Improvements, new features and functionality (4)

Manager (4)

  • Improved the ability of the manager to detect un-extracted, desirable binary log events when recovering the old Primary viacctrl after a failover.

    The recover command will now fail if:

    • any unextracted binlog events exist on the old Primary that we are trying to recover
    • the old Primary THL contains more events than the Replicas

    In this case, the recover command will display text similar to the following:

    Recovery failed because the failed Primary has unextracted events in
    the binlog. Please run the tungsten_find_orphaned script to inspect
    this events. Provided you have a recent backup available, you can
    try to restore the data source by issuing the following command:
    datasource {hostname} restore
    Please consult the user manual at:
    https://docs.continuent.com/tungsten-clustering-6.1/operations-restore.html

    The tungsten_find_orphaned script is designed to locate orphaned MySQL binary logs that were not extracted into THL before a failover. For more information, please see "The tungsten_find_orphaned Command".

    Issue: CT-996
  • Improved how the Manager and Replicator behave when MySQL dies on the Primary node.

    **This improvement will induce a change of behavior in the product during failover by default, possibly causing a delay in failover as a way to protect data integrity.**

    The new default setting for 6.1.1 is:

    replicator.store.thl.stopOnDBError=false

    This means that the Manager will wait until the Replicator reads all remaining binlog events on the failing Primary node.

    Failover will only continue once:

    • all available events are completely read from the binary logs on the Primary node
    • all events have reached the Replicas
    Warning
    The new default means that the failover time could take longer than it used to.  

    When property=replicator.store.thl.stopOnDBError=true, then the Replicator will stop extracting once it is unable to update the trep_commit_seqno table in MySQL, and the Manager will perform the failover without waiting, at the risk of possible data loss due to leaving binlog events behind. All such situations are logged.

    For use cases where failover speed is more important than data accuracy, those NOT willing to wait for long failover can set property=replicator.store.thl.stopOnDBError=true and still use tungsten_find_orphaned to manually analyze and perform the data recovery. For more information, please see "The tungsten_find_orphaned Command".

    Issue: CT-583
  • Improved the ability to configure the manager's behavior upon failover.

    During a failover, the manager will now wait until the selected Replica has applied all stored THL events before promoting that node to Primary.

    This wait time can be configured via the property=manager.failover.thl.apply.wait.timeout=0 property.

    The default value is 0, which means "wait indefinitely until all stored THL events are applied".

    Any value other than zero invites data loss due to the fact that once the Replica is promoted to Primary, any unapplied stored events in the THL will be ignored, and therefore lost.

    Whenever a failover occurs, the Replica with most events stored in the local THL is selected so that when the events are eventually applied, the data is as close to the original Primary as possible with the least number of events missed.

    That is usually, but not always, the most up-to-date Replica, which is the one with the most events applied.

    There should be a good balance between the value for property=manager.failover.thl.apply.wait.timeout and the value for property=policy-relay-from-slave=900, which is the number of seconds to which a Replica must be current with the Primary in order to qualify as a candidate for failover. The default is 15 minutes (900 seconds).

    Issue: CT-1022
  • A new feature called "Cluster State Savepoints" has been implemented.

    This new functionality was created to support clean, consistent rollbacks during aborted switch and failover operations. This functionality works for both physical clusters as well as for composite clusters.

    To support this new feature, a new cluster sub-command has been added to the cctrlcommand - cluster topology validate, which will check and validate a cluster topology and, in the process, will report any issues that it finds. The purpose of this command is to provide a fast way to see, immediately, if there are any issues with any components of a cluster.

    Savepoints are created automatically with every switch and failover command. The savepoint is only used if there is an exception during switch or failover that is actually able to be rolled-back.

     
    Important
    Not all exceptions during switch and failover will cause a rollback. In particular, if an exception happens during switch or failover AFTER a new primary datasource has been put online (relay or Primary) then the switch or failover operation cannot be rolled back.  

    The Manager is configured, by default, to hold a maximum of 50 savepoints. When that limit is hit, the Manager resets the current-savepoint-id to 0 and starts to overwrite existing savepoints, starting at 0.

    Issue: CT-951

Bug Fixes (13)

Command-line Tools (8)

Manager (5)

  • If the pipeline source replicator goes OFFLINE, the relay will reconnect to a different Replica.
    Issue: CT-871
  • Improve the ability to find needed binaries, both locally and over SSH, for commands: tungsten_find_orphanedand tungsten_is_recoverable
    Issue: CT-1053
  • Fixed use case where xtrabackup would timeout during backup via cctrl
    Issue: CT-1045
  • Fixed an issue where the ls resources command run inside of cctrl would fail to list the MANAGER entry on a Replica node.
    Issue: CT-599
  • Fixed an issue where the Manager would show an exception when the MySQL check script did not get expected results.
    Issue: CT-912

Tungsten Clustering 6.1.0

Build: 77
Release Date: 31 Jul 2019
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.0 contains both significant improvements as well as some needed bugfixes. One of the main features of this release is MySQL 8 support.

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.

More info on these authentication plugins can be found here

The Drizzle driver has been updated to support these new authentication methods, and the MySQL Connector/J 8 is also supported.

Behavior Changes (1)

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:

Connector (1)

  • The Connector passThroughMode configuration option is now deprecated.

    The following passThroughMode entry 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 to passThroughMode=true.

    # The Tungsten Connector offers an extra fast data transfer mode known as
    # pass-through. When the following switch enabled (default), the Connector
    # will directly transfer data packets between the client and the server.
    # When disabled, every native MySQL command will be translated into a JDBC call.
    passThroughMode=true
    Issue: CT-897

Known Issue (1)

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)

  • Some applications might fail to connect to the Connector with MariaDB 10+

    When using MariaDB 10+, the Connector will be confused by the 10 and will think it is a MySQL 8+ server. By default, the Connector will offer to connect with caching_sha2_password. If the application does not know how to switch authentication plugins, it will fail with a message similar to the following:

    The server requested authentication method unknown to the client [caching_sha2_password]

    As a work-around, you may specify the authentication plugin using the following tpm command option:

    --property=defaultAuthPlugin=mysql_native_password
    Issue: CT-1033

Improvements, new features and functionality (6)

Command-line Tools (2)

  • 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.
    Issue: CT-761
  • 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.
    Issue: CT-934

Core Replicator (2)

  • Upgraded the Drizzle driver to support MySQL 8 authentication protocols (SHA256, caching_sha2).
    Issues: CT-931, CT-914, CT-966
  • 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 Replicas using mysqldump andxtrabackup tools, and is MySQL 8-compatible.

    The prov-sl.sh command is written in Bash, has less dependencies compared to the current version 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.

    Logs are written to $CONTINUENT_ROOT/service_logs/prov-sl.log (i.e. /opt/continuent/service_logs/prov-sl.log).

    For example, provision a Replica from [source db] using mysqldump (default):

    shell> prov-sl.sh -s {source db}

    As another example, use xtrabackup for the backup method, with 10 parallel threads (default is 4), and ssh is listening on port 2222:

    shell> prov-sl.sh -s {source db} -n xtrabackup -t 10 -p 2222
    Warning
    At the moment, prov-sl.sh does not support Composite Active/Active topologies when used with Tungsten Clustering, however it will be included in a future release.
    Issues: CT-809, CT-963, CT-855, CT-723, CT-614

Connector (2)

  • The Tungsten Stack now supports the new MySQL 8.0 authentication plugins. Both sha256_password andcaching_sha2_password (the new default) are supported by the Replicator, Manager and Connector.

    More info on these authentication plugins can be found [here](https://dev.mysql.com/doc/refman/8.0/en/sha256-pluggable-authentication.html)

    The Drizzle driver has been updated to support these new authentication methods, and the [MySQL Connector/J 8](https://dev.mysql.com/downloads/connector/j/) 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.

    In order to override the default behavior, a new Connector property option for tpm,property=defaultAuthPlugin=[autodetect|caching_sha2_password|mysql_native_password], and is set to autodetect by default.

    Note that if property=defaultAuthPlugin is set to caching_sha2_password, thesha256_password authentication is automatically also supported.

    Warning
    Please note that the Connector does not support public key retrieval as of yet. Also note that, for backwards compatibility, the Connector forces the “CLIENT_DEPRECATE_EOF” to false, disallowing the usage of client session tracking requests ([https://dev.mysql.com/doc/refman/5.7/en/session-state-tracking.html](https://dev.mysql.com/doc/refman/5.7/en/session-state-tracking.html))
    Issue: CT-771
  • When logging is set to debug or trace, the Connector will print individual queries. In the past, advanced logging limited the display size of requests to 256 characters to prevent overwhelming the logs in terms of both space and filesystem I/O.

    Some customers need to display more than that, so it is now possible to adjust the size of the statements displayed indebug or trace logging modes. This is handled by a new Connector property option fortpm, property=statement.display.size.in.kb=NNN, which is defined as the maximum query length to display in Kbytes, and now defaults to 1KB.

    Warning
    Warning: setting this option to a high value while DEBUG or TRACE is enabled will quickly fill logs and disk, in addition to using up disk I/O's!
    For example, if the raw query size is 4KB, then a setting of 1KB would simply display the first 1024 bytes of the query and truncate/discard the rest from a logging perspective.
    Issue: CT-990

Bug Fixes (5)

Command-line Tools (1)

  • When executing mysqldump, all Tungsten tools no longer use the --add-drop-database flag as it will prevent MySQL 8+ from restoring the dump.
    Issue: CT-935

Core Replicator (2)

  • Now properly extracting the Geometry datatype.
    Issue: CT-997
  • Added support for missing charset GB18030 to correct WARN extractor.mysql.MysqlBinlog Unknown charset errors.
    Issues: CT-932, CT-915

Connector (2)

  • Introduced a new tpm flag allowing for tuning Connector thread stack size, which can be required in particular cases where large requests are sent as text to a connector configured for automated read/write splitting (smartscale and direct reads).

    The setting is commented out by default, leaving the JVM use its own default, generally 1024.

    Setting tpm option connector-thread-stack-size=[value in kb] will override this value.

    Note
    Please note that since the new size will be allocated for each incoming connection, increasing the thread stack size will affect the total runtime memory used by the connector instance
    Issue: CT-973
  • OLD BEHAVIOR: If the Primary data source was not accessible when the Connector started (i.e. connection refused, etc.), the connector would still fully initialize, leading to a running Connector without an accessible data source. This has the side effects of having default configuration values for bothwait_timeout andserver_version instead of properly auto-detected values based on the MySQL server settings.

    NEW BEHAVIOR: The Connector will now wait indefinitely for a Primary to become available before finishing startup.

    Issue: CT-930

Tungsten Replicator 6.1

Tungsten Replicator 6.1.25

Build: 6
Release Date: 7 Jul 2024
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.25 contains a specific feature request in Tungsten Connector and fixes a small bug in Tungsten Replicator.

Bug Fixes (1)

Core Replicator (1)


Tungsten Replicator 6.1.24

Build: 6
Release Date: 11 Dec 2023
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.24 contains a critical bug fix to address an issue during failover.

Tungsten Replicator 6.1.23

Build: 2
Release Date: 31 Aug 2023
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.23 contains a number of critical bug fixes.

Tungsten Replicator 6.1.22

Build: 5
Release Date: 6 Jul 2023
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.22 contains a number of critical bug fixes and it is advised customers running 6.1.21 should upgrade to this release.

Bug Fixes (5)

Installation and Deployment (1)

Core Replicator (3)

  • A change in the way MySQL logs CREATE TABLE AS SELECT in the Binary Logs from v8.0.20 onwards, meant these transactions would previously fail.
    Warning
    Whilst these statements will now replicate, it must be noted that in the event of a failure during the data load, the initial CREATE statement won't be rolled back, and therefore care must be taken when using this type of DDL.
    Note
    This only affects customers using MySQL v8.0.20+ running with ROW based replication. An alternative workaround to ensure correct rollback on failure, would be to run the statement with STATEMENT based replication for the session. This will also provide better performance for larger tables.
    Issue: CT-1301
  • Fixed an issue where an extracted JSON field could be invalid, with doubled commas in JSON arrays.
    Issue: CT-2049
  • 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

PostgreSQL Replication (1)

  • Fixed a NullPointerException error occurring at startup when applying to PostgreSQL.
    Issue: CT-2021

Tungsten Replicator 6.1.21

Build: 13
Release Date: 18 Apr 2023
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.21 contains a number of critical bug fixes and improvements.

Behavior Changes (2)

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 (2)

  • Enabling a custom backup script does not require it to be made the default option anymore, i.e. Settingbackup-method to the custom backup script is not required anymore.
    Issue: CT-2039
  • The tungsten_skip_all command (along with alias tungsten_skip_seqno) now shows the full pendingExceptionMessage instead of just pendingError, and the More choice shows the pendingErrorEventId and the pendingError.
    Issue: CT-2030

Improvements, new features and functionality (1)

Platform Specific Deployments (1)

  • ARM 64 bit processor support added (linux aarch64)
    Note
    Note that at time of release, there is currently no xtrabackup binary available for ARM.
    Issues: CT-1619, CT-1620

Bug Fixes (1)

Command-line Tools (1)

  • The tpm ask keys command now lists all available keys properly.
    Issue: CT-2041

Tungsten Replicator 6.1.20

Build: 5
Release Date: 19 Dec 2022
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.20 contains a number of critical bug fixes and improvements.

Behavior Changes (1)

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 (1)

  • Both the tungsten_get_ports and tpm report commands have been updated to use the ss OS command when the netstat OS command is unavailable or deprecated.
    Issue: CT-2007

Improvements, new features and functionality (2)

Command-line Tools (2)

  • The tungsten_get_ports command now uses values based on values obtained from tpm query values when possible for the greatest output accuracy.
    Issue: CT-2008
  • A new command has been added called tungsten_get_ports, which will display the running Tungsten processes and the associated TCP ports that those processes are listening on.
    Issue: CT-1970

Bug Fixes (3)

Command-line Tools (1)

  • Worked around a ruby issue where DNS name resolution was sometimes preferred to file-based resolution in TPM. The following logic now applies: first trying file-based host name resolution, upon failure try DNS, then through ping command
    Issue: CT-1653

Core Replicator (1)

  • Fixed an issue in the applier to ensure it is not committing too often with a multi-service replicator (active/active for example, more specifically with AWS Aurora, or an unprivileged MySQL, backend).
    Issue: CT-2004

Filters (1)

  • Fixed an issue where the dropsqlmodes filter would fail to remove invalid sql modes from a multi-statement event
    Issue: CT-1993

Tungsten Replicator 6.1.19

Build: 22
Release Date: 17 Oct 2022
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.19 contains a number of critical bug fixes and improvements, specifically for customers using Parallel Replication.

Behavior Changes (2)

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 (1)

  • The check_tungsten.sh was deprecated in release 6.1.18 and has now been removed from this release.
    Issue: CT-1939

Core Replicator (1)

  • repl-svc-extractor-multi-frag-service-detection is now turned **ON** by default. Event shards are determined at extraction time. With fragmented events, the shard cannot be determined by only reading the first fragment, but needs to check the last fragment as well. With this setting turned OFF, there is no issue with pipelines that don't need it, i.e. no parallel apply downstream replicas. However, as this is done at extract time, THL contains this information, and adding or changing a replica using parallel apply could introduce issues.
    Note
    It can be disabled if you see a performance overhead but this should be done with caution. For Aurora<>Aurora Active/Active deployments it is essential that this property be left ON.
    Issue: CT-1959

Improvements, new features and functionality (3)

Command-line Tools (3)

  • The tpm ask command has five new variables available: dsrole & dsstate for the current datasource, and trrole & trstate for the current replicator, and nodeinfo which displays all 4 of the new variables.
    Issue: CT-1944
  • The tpm ask stages and tpm ask allstages commands have been added to display the Replicator stages for the current node (stages) and the stages for each role (allstages).
    Issue: CT-1943
  • The tpm command calls to glob have been improved to be more strict and compliant.
    Issue: CT-1940

Bug Fixes (7)

Installation and Deployment (1)

Command-line Tools (2)

  • The tpm mysql command will now gracefully handle being run on a non-database node.
    Issue: CT-1946
  • Fixes an issue where the pause state would be badly displayed under no load, when the pause reaches the defined time. Note this is only a display issue : once an event is received, the pause state and displayed remaining time will be reset correctly.
    Issue: CT-1942

Core Replicator (3)

  • Fixed an issue where the replicator would hang after applying a DROP TABLE event, that originally failed on the primary, but got logged into the binlog.
    Issue: CT-1973
  • Fixed an issue where the shard_id stored in the trep_commit_seqno table would show an incorrect shard after processing a skipped event (an event from another channel)
    Issue: CT-1967
  • Fixes an issue that would leave a transaction uncommitted longer than necessary.
    Issue: CT-1958

Filters (1)

  • The BidiRemoteSlaveFilter could fail to correctly flag fragmented events in unprivileged environments (Aurora, for example) In such an environment (multi-active, unprivileged database access), a new setting was introduced to force extraction process to read ahead to the last fragment to detect the service name (false by default). Enabled with repl-svc-extractor-multi-frag-service-detection=true
    Issue: CT-1351

Tungsten Replicator 6.1.18

Build: 54
Release Date: 7 Sept 2022
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.18 contains a number of minor bug fixes and improvements.

Behavior Changes (2)

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 (2)

  • The tungsten_find_orphaned command now places the log file in$CONTINUENT_ROOT/service_logs/, not /tmp/
    Issue: CT-1866
  • The check_tungsten.sh script has been deprecated and no longer maintained. It will be removed in the next patch release and users should use the newer tmonitor commands.
    Issue: CT-1038

Improvements, new features and functionality (4)

Command-line Tools (2)

  • The tungsten_reset_manager command now supports the ability to simply print out the path or paths to be cleared, one per line via the -l or --list arguments.
    Issue: CT-1917
  • The tungsten_merge_logs command now supports the --before TIMESTAMP and --after TIMESTAMP filters
    Issue: CT-1869

Core Replicator (2)

  • The thl list command now displays an approximate field size in bytes for row-based replication.
    Issue: CT-1847
  • Added a new feature that enables pausing a replicator stage for some amount of time.

    This will pause the given stage for 100 seconds:

    trepctl pause -stage thl-to-q -time 100

    This will pause the stage indefinitely (or until restart, etc) Add -y to avoid the prompt message whether you are sure.

    trepctl pause -stage thl-to-q

    For the previous 2 commands, running a pause command again will override the previous command.

    This will resume the suspended stage (Note that if the stage is not paused, this will have no effect):

    trepctl resume -stage thl-to-q
    Note
    Please note this pause does not survive a replicator restart or a service offline/online.
    Issue: CT-1912

Bug Fixes (10)

Installation and Deployment (1)

  • Fixes issues where fixed properties and filters passed to tpm in service stanzas were not being configured correctly
    Issue: CT-1463

Command-line Tools (5)

  • undeployall script would not properly uninstall systemd services on some distributions including amazon linux.
    Issue: CT-1845
  • replicator start offline would not properly pass the offline argument to systemd scripts when installed through deployall.
    Issue: CT-1836
  • The tpm diag command now behaves properly when the MySQL server is logging to STDERR.
    Issue: CT-1935
  • The tpm diag command now gathers the mysql.log file when SSL is enabled in the server
    Issue: CT-1933
  • The tpm diag command now passes when the nodename defined in the tungsten.ini is the shortname, and DNS returns the FQDN.
    Issue: CT-1908

Backup and Restore (1)

  • During the backup/restore process the MySQL certificates are kept intact.
    Issue: CT-1841

Core Replicator (3)

  • Fixed an issue where filtered events would trigger a useless update to the service trep_commit_seqno table while it is overwritten anyway once the last statement of the applied event is done, just prior to committing the whole block.
    Issue: CT-1931
  • Fixes an issue that prevented geometry datatypes with SRID from being replicated.
    Issue: CT-1904
  • Fixes an issue that would prevent a service from going offline at a specified time (trepctl online -until-time) when parallel apply is enabled. This is a rework of CT-1243.
    Issue: CT-1684

Tungsten Replicator 6.1.17

Build: 42
Release Date: 16 May 2022
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Behavior Changes (3)

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 (2)

  • Changed output of thl purge command when no lower and upper bounds are given from 'Deleting events where' to 'Deleting all events'.
    Issue: CT-1738
  • The tpm diag command now gathers the output of the tpm ask summary command
    Issue: CT-1827

Backup and Restore (1)

  • Additional messaging has been added to the output displayed when running tprovision.
    Issue: CT-1689

Improvements, new features and functionality (4)

Command-line Tools (1)

  • Added the ability to turn auto recovery on or off dynamically, removing the need to run tpm update. This is done by running the following command:
    shell> trepctl -service servicename setdynamic -property replicator.autoRecoveryMaxAttempts -value <number>
    Note
    The service must be offline before changing the property
    Issue: CT-1088

Core Replicator (1)

  • Added a new property to allow configuration of character set used during batch loading into MySQL targets.

    Default is utf8mb4. Override using the following:

    property=replicator.applier.dbms.loadCharset=utf8
    Issue: CT-1647

Security (1)

  • Replaced official log4j library with a secured version in which all vulnerable classes have been removed. This prevents exposing the software following a (user) misconfiguration of the log4j properties
    Issue: CT-1810

Other Issues (1)

  • IPv6 host addresses are now fully supported. Can be enabled with the following configuration property:
    prefer-ip-stack="6"
    By default, IPv4 is enabled, which equates to the value of "4" in the above property.
    Issue: CT-1537

Bug Fixes (16)

Installation and Deployment (2)

  • When services are deployed with systemd and MySQL could not start due to an error, tpm would not be able to later start MySQL
    Issue: CT-1734
  • deployall script now properly displays the executable prefix for restarting services, typically mm_treplicator in Multi-Site/Active-Active replicator-only installs, as well as the full path to component binaries
    Issue: CT-1835

Command-line Tools (6)

  • The tpm command now communicates properly when there is no INI configuration file or staging-methoddeploy.cfg configuration defined.
    Issue: CT-1712
  • When MySQL services were badly installed, some distribution could show a “not-found” status within systemctl, confusing tpm
    Issue: CT-1677
  • tungsten_monitor.rb script no longer uses sudo to send emails if the configuration doesn't allow it.
    Issue: CT-1737
  • tpm now properly reports errors upon timeout executing commands. Typically, when a host is down, when upgrading or installing,tpm will now properly report that pinging this host failed.
    Issue: CT-1819
  • Improves the tpm diag command so that it waits 2 seconds for replicator thread dump to complete.
    Issue: CT-1792
  • The tpm update command no longer aborts during a staging deployment when the actual hostname does not match what is configured for the node names in tpm
    Issue: CT-1791

Backup and Restore (1)

  • Fixed an issue with latest xtrabackup 8.0.28
    Issue: CT-1838

Core Replicator (7)

  • When connecting to a THL server, a client will now connect to the next available host in its THL URI, if the first does not have the sequence number that the client requires. The client will then fail only if none of the hosts from the URI can provide the needed sequence number.
    Issue: CT-1558
  • Fixed an issue when using Parallel apply that would show a NullPointerException in case an event could either not be found or be corrupted in THL. This will now display a correct message Missing or corrupted event from storage
    Issue: CT-1722
  • Added more debug information for detecting possible hanging connections while a THL client connects to the THL server. Also, added socket timeout for the connection initialization
    Issue: CT-1760
  • Fixed an issue where trepctl was leaving JMX connections opened.
    Issue: CT-1752
  • Fixed the EnumToString and pkey filters to renew their database connections (every hour by default). This can be changed with the following properties:
    property=replicator.filter.enumtostring.reconnectTimeout=3600
    property=replicator.filter.pkey.reconnectTimeout=3600
    Issue: CT-1786
  • Fixed an issue with the batch loader where DATETIME and TIME datatypes with milliseconds would be replicated as .000 instead of the real millisecond value.
    Issue: CT-1739
  • Due to a change in binlogging behavior from MySQL 5.7 onwards (Including Aurora) when using the standalone Tungsten Replicator to configure bi-directional replication with unprivileged access (ie unable to control binlogging behavior), certain DDL statements failed to be tagged correctly causing them to be re-applied to the originating source database, resulting in replicator errors.
    Issue: CT-1083

Tungsten Replicator 6.1.16

Build: 14
Release Date: 20 Dec 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.16 contains a number of minor bug fixes and improvements.

Behavior Changes (3)

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 (2)

  • The tungsten show processlist command has been re-located to the cluster-home/bin from tools/.
    Issue: CT-1695
  • The Perl-based command-line tools now include the latest version of JSON::PP
    Issue: CT-1679

Documentation (1)

  • Updated the open_source_licenses.txt file to include most up-to-date information for the included Perl modules.
    Issue: CT-1675

Improvements, new features and functionality (2)

Command-line Tools (2)

  • A new command tungsten_get_mysql_datadir has been added which will gather and display the actual running value for the mysql data directory (datadir) with any sym-links to the physical destination resolved.
    Issue: CT-1690
  • A new command, tungsten_merge_logs has been added which will gather Manager, Replicator and Connector logs into one file sorted by timestamp for easier troubleshooting.
    Issue: CT-1667

Bug Fixes (7)

Command-line Tools (4)

  • The tpm --help text now includes the --ini argument.
    Issue: CT-1693
  • The tpm diag command now uses sudo to read the mysqld.log file.
    Issue: CT-1685
  • The tpm ask tool now works properly on all supported Linux distros.
    Issue: CT-1682
  • Now properly adds executable-prefix (when specified) to systemd boot scripts for the replicator.
    Issue: CT-1663

Core Replicator (2)

  • Fixes a replication issue with some JSON fields that would contain a single quote within the JSON text
    Issue: CT-1691
  • Fixes an issue where the replicator would loop forever if a wrong startup option was provided, e.g replicator start wrongNow, the replicator will stop with a fatal error message logged Unrecognized option: wrong - Shutting down
    Issue: CT-1672

Documentation (1)

  • The documentation for the tpm command now describes the use of the --ini argument fully.
    Issue: CT-1692

Tungsten Replicator 6.1.15

Build: 8
Release Date: 22 Oct 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.15 contains a number of minor bug fixes and improvements.

Behavior Changes (1)

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:

Backup and Restore (1)

  • Cluster backup now uses --source-data as mysqldump parameter from MySQL 8.0.26+
    Issue: CT-1635

Improvements, new features and functionality (1)

Core Replicator (1)

  • Added ability to the Batch Applier, to apply to a remote MySQL instance using LOAD DATA LOCAL INFILE.

    This is disabled by default, and can be enabled by the following property:

    property=replicator.applier.dbms.useLoadDataLocalInfile=true
    Issue: CT-1622

Bug Fixes (5)

Command-line Tools (2)

  • Improved Perl-based command-line tools to use routines with no external dependencies in place of Data::Dumper
    Issue: CT-1630
  • The tpm update command now handles the --replace-release argument properly when --ini is also specified.
    Issue: CT-1623

Backup and Restore (1)

  • tungsten_provision_slave would fail using mysqldump with MySQL version 8.0.26+ due to a warning about using --master-data=2
    Issue: CT-1612

Core Replicator (1)

  • Improved error reporting when the replicator is not able to open a file. This was causing a NullPointerException to be raised.
    Issue: CT-1618

Filters (1)

  • Fixed an issue with the ColumnNameFilter that was not resetting its internal connection to the database.

    This would then fail if the database connection would time out (e.g. MySQL wait_timeout reached). The connection is now renewed every 1 hour by default.

    This can be reconfigured to a different value by adding the following tpm property:

    property=replicator.filter.colnames.reconnectTimeout=<time in seconds>
    Issue: CT-1646

Tungsten Replicator 6.1.14

Build: 35
Release Date: 17 Aug 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.14 contains a number of bug fixes and improvements in the Connectors, and improved handling of systemd integration, additionally XA transaction support is now available.

Improvements, new features and functionality (8)

Command-line Tools (4)

  • Improved the tpm command's internal logic and introduced a new sub-command, tpm ask.
    Issue: CT-1573
  • New ddlscan template (ddl-mysql-staging.vm) available to generate ddl required for staging tables when deploying the batch applier on a MySQL target.
    Issue: CT-1587
  • 3 new tpm flags have been added: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
    Issue: CT-1555
  • Added tpm 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
    Issue: CT-1541

Backup and Restore (1)

  • A new tpm 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.
    Issue: CT-1595

Core Replicator (3)

  • Support for XA transactions has been added.
    Issue: CT-925
  • When using the MySQL Batch Applier, you can now choose to log rows into an error table that would otherwise have either generated a duplicate key error.

    This is disabled by default, but can be enabled and configured by using the following two new properties:

    property=replicator.applier.dbms.errorTablePrefix=error_xxx_
    property=replicator.applier.dbms.batchLogDuplicateRows=true

    In addition, if your tables contain Foreign Keys, you can choose to disable them during the data loading process using the following property:

    property=replicator.applier.dbms.disableForeignKeys=true
    Issue: CT-1589
  • When using the MySQL Batch Applier, you can now choose to drop all deletes by specifying the following tpm property:

    property=replicator.applier.dbms.skipDeletes=true

    This is disabled (false) by default.

    Issue: CT-1588

Bug Fixes (1)

Command-line Tools (1)

  • The tpm update command now properly parses the --ini argument.
    Issue: CT-1551

Tungsten Replicator 6.1.13

Build: 45
Release Date: 27 May 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.13 contains a number of bug fixes, and contains a new Connector feature: Support for Proxy Protocol v1 (if supported by your underlying MySQL release)

Behavior Changes (1)

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 (1)

  • Ensure that all tools are available in the appropriate software packages.
    Issue: CT-1518

Improvements, new features and functionality (3)

Command-line Tools (2)

  • A new tpm option delete-service is now available to simplify the removal of clusters and/or replicator services.
    Issues: CT-210, CT-327, CT-1275
  • A new utility, tungsten_skip_seqno has been added which allows events to be skipped based on filters, allowing the Tungsten Replicator to come back online with less manual intervention.
    Issues: CT-1511, CT-1453, CT-1087, CT-42

Heterogeneous Replication (1)

  • Upgraded PostgreSQL JDBC driver to the latest release to allow compatibility with PostgreSQL 12
    Issue: CT-1521

Bug Fixes (5)

Command-line Tools (4)

  • tpm now supports new MariaDB my_print_defaults flag --defaults-file
    Issue: CT-1528
  • Fixed a tpm call to systemd services listing which was making tpm wrongly fall back to init.d. This issue was found when testing MariaDB 10.0.
    Issue: CT-1524
  • Fixes an issue where the undeployallcommand would create a root owned wrapper.log in the ./tools directory.
    Issue: CT-1516
  • This release includes a wide range of improvements and bug fixes for tpm and other command-line tools.
    Issue: CT-1509

Core Replicator (1)

  • Fixes an issue where null values in JSON structures were incorrectly quoted once replicated. For example :
    [{"example":null}]
    would be replicated as
    [{"example":"null"}]
    Issue: CT-1523

Tungsten Replicator 6.1.12

Build: 53
Release Date: 8 Mar 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.12 is a minor bug fix release.

Improvements, new features and functionality (1)

Monitoring (1)

  • Support has now been added to allow monitoring via the New Relic Insights API, using a new script tungsten_newrelic_event
    Issue: CT-892

Bug Fixes (5)

Command-line Tools (3)

  • If using tungsten_provision_slave to restore a previously failed Primary node, the provision could fail to recover the node.
    Issue: CT-1468
  • Replaced md5 hashing to sha256 within tpm to fix issues where tpm install would fail on FIPS enabled environments.
    Issue: CT-1451
  • If using mysqldump as your preferred choice of backup method, Stored Procedures and Functions would not be included in the generated dump file when using tungsten_provision_slave.
    Issue: CT-1339

Core Replicator (2)

  • If SSL is enabled between replicators for THL Transfer, and a source node fails and becomes unresponsive, or is slow/overloaded, the replicator on the replica can fail to go offline due to a timeout, remaining in a GOING-ONLINE:SYNCHRONIZING state.

    In a clustering environment, this can prevent failovers occurring due to the manager waiting for the replicator which is stuck in a timeout loop.

    Issue: CT-1459
  • A new mapcharset filter is included, which fixes collation incompatibilities when replicating from MySQL 8 to an older release (5.7 or 5.6)

    This new filter should be enabled within any MySQL applier where the source is generated from a MySQL 8 database and the target is MySQL 5.7 or lower.

    Issue: CT-1404

Tungsten Replicator 6.1.11

Build: 6
Release Date: 21 Jan 2021
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.11 is a critical bug fix addressing an issue found in the Managers.

Tungsten Replicator 6.1.10

Build: 4
Release Date: 15 Dec 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.10 is a critical bug fix addressing an issue with Parallel Apply within a clustered environment.

Improvements, new features and functionality (2)

Command-line Tools (1)

  • tpm diag outputting table information via route -n , and has two new command-line arguments: --include and --groups.

    --include specifies a comma-separated list of subroutines to include. Any gather subroutine not listed will be skipped.

    --groups specifies a comma-separated list of subroutine groups to include. Any group not listed will be skipped.

    Issue: CT-1399

Filters (1)

  • A number of sql_modes have been removed in MySQL 8.0, meaning that when replicating from an earlier version (e.g. 5.7) the applier could error when applying session variables.

    A new dropsqlmode filter is now available that should be configured against appliers where the source is version 5.7 or earlier and the target is version 8.0 or later.

    Issue: CT-1361

Tungsten Replicator 6.1.9

Build: 9
Release Date: 23 Nov 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.9 is a minor bug fix release containing a fix for a critical bug within the Replicator related to the handling of Timezone.

Bug Fixes (2)

Command-line Tools (1)

  • tpm update no longer fails when using the staging method to upgrade to a new version.
    Issue: CT-1381

Core Replicator (1)

  • In some edge case scenarios, the replicator was not setting the session time_zone correctly when preceding sessions had a different time_zone applied, this could lead to situations where TIMESTAMP values could be applied into replica nodes with an incorrect time_zone offset applied.
    Issue: CT-1390

Tungsten Replicator 6.1.8

Build: 14
Release Date: 2 Nov 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.8 is a minor bug fix release.

Bug Fixes (3)

Command-line Tools (1)

Core Replicator (2)

  • In MySQL releases using old row events format (MySQL 5.6 or earlier), Delete_rows_v1were badly handled, leading to an extraction error when handling such an event type.
    Issue: CT-1358
  • Fixes an issue that would prevent a service from going offline at a specified time (trepctl online -until-time) or at a specific seqno (trepctl online -until-seqno) when parallel apply is enabled.
    Issue: CT-1243

Tungsten Replicator 6.1.7

Build: 13
Release Date: 5 Oct 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.7 was a minor bug fix release containing a fix for SSL Communications specific to clustering deployments.

Tungsten Replicator 6.1.6

Build: 6
Release Date: 20 Aug 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.6 is a minor bug fix containing a fix for Composite Active/Active environments.

Bug Fixes (1)

Core Replicator (1)

  • Allows multiple service names to be supplied to property=local.service.name when configuring bi-directional replication between a Composite Active/Passive cluster topology and a MySQL target to prevent loopback of transactions.
    Issue: CT-1308

Tungsten Replicator 6.1.5

Build: 20
Release Date: 5 Aug 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.5 is a small interim bug fix with a number of issues resolved within the Core Replicator, and a specific issue within Tungsten Connector in Multi-Cluster Environments.

Behavior Changes (1)

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:

Heterogeneous Replication (1)

  • When using the batch applier in Heterogeneous pipelines (Redshift, Vertica, Hadoop) the batch applier removes DDL statements.

    There may be occasions when you intentionally want DDL to pass through, such as if you have a custom filter that injects custom DDL statements into the pipeline, however the batch applier would always remove them.

    A new property is now available to control this behaviour. Set property=replicator.applier.dbms.applyStatements=trueto allow the batch applier to retain DDL statements. The default value of false retains the original behaviour of removing DDL.

    Issue: CT-1270

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Core Replicator (1)

  • In MySQL release 8.0.21 the behavior of CREATE TABLE ... AS SELECT ... has changed, resulting in the transactions being logged differently in the binary log. This change in behavior will cause the replicators to fail.

    Until a fix is implemented within the replicator, the workaround for this will be to split the action into separateCREATE TABLE ... followed by INSERT INTO ... SELECT FROM... statements.

    If this is not possible, then you will need to manually create the table on all nodes, and then skip the resulting error in the replicator, allowing the subsequent loading of the data to continue.

    Issue: CT-1301

Bug Fixes (4)

Core Replicator (4)

  • Fixes a bug in the Drizzle Driver whereby a failing prepared statement that exceeds 1000 characters would report aString index out of range: 999 error rather than the actual error.
    Issue: CT-1303
  • If filtering is in use, and a space appeared on either side of the delimiter in a "schema.table" definition in your SQL, the replicator would fail to parse the statement correctly.

    For example, all of the examples below are valid SQL but would cause a failure in the replicator:

    sql> CREATE TABLE myschema. mytable (....

    sql> CREATE TABLE myschema .mytable (....

    sql> CREATE TABLE myschema . mytable (....
    Issue: CT-1278
  • When replicating data that included timestamps, the replicator would update the timestamp value to the time within the commit from the incoming THL. When using statement based replication times would be correctly replicated, but if using a mixture of statement and row based replication, the timestamp value would not be set back to the default time when switching between statement and row based events. This would not cause problems in the applied host, except when log-slave-updateswas enabled. In this case, all row-based events after a statement based event would have the same timestamp value applied.

    This was most commonly seen when using the standalone replicator to replicate into a Cluster, either from a standlone source, or a cluster source.

    Issue: CT-1255
  • For offboard extraction, the replicator would appear to be ONLINE but not actually processing new events.

    This is due to the relay client getting an incomplete packet from the remote database and going into a WAITING state.

    To handle these situations, a new property has been included that will set a timeout and if the replicator does not process an event in the given timeout period, we assume we have lost the link to the remote database and will place the replicator into an OFFLINE:ERROR state.

    Providing auto-recovery has been enabled using the auto-recover-max-attempts parameter, the replicator will then restart and proceed successfully.

    The new property to include is property=replicator.extractor.dbms.relayLogIdleTimeout

    The default value (0) will disable the timeout. Values provided are in seconds, so 300 would be 5 minutes.

    Setting the timeout too low in quieter systems may result in unnecessary replicator restarts. The value should be set according to the activity levels of your database. If the source is very active with constant updates, then a low value would be appropriate. On quieter systems that may have long periods of inactivity, should have a timeout value set no less than the longest, normal, period of inactivity within your system.

    Issue: CT-1262

Tungsten Replicator 6.1.4

Build: 51
Release Date: 12 Sept 2025
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.4 contains a number of improvements and bug fixes, specifically for the tpm command line tool and stability improvements for Composite Active/Active topologies. In addition this release now fully supports the latest binlog compression feature of MySQL 8.0.20.

Improvements, new features and functionality (12)

Command-line Tools (5)

  • Improves tpm performance by using more efficient routines to calculate paths.
    Issue: CT-1168
  • Added the ability for tpm diag to skip both individual gather subroutines along with entire groups of gather subroutines. Also added ability to list all gather groups and subroutines using --list for use with the --skip and--skipgroups cli arguments.
    Issue: CT-1176
  • tungsten_provision_slave has been rewritten fixing a number of issues in the previous release. This version was previously released as the Beta script prov-sl.sh.
    Issue: CT-1208
  • A number of performance improvements and fixes have been incorporated into the Drizzle Driver used for communication between components and MySQL, these include:
    • Better handling of large queries close to max network packet size.
    • Batch Support. Instead of sending statements one by one, the driver will be able to send multiple statements at once, avoiding round trips between the driver and MySQL server.
    • Fixes issues with interpreting useSSL on connect string URLs.
    Issues: CT-1215, CT-1216, CT-1217, CT-1228
  • The tungsten_send_diag command now accepts arguments for the tpm diagcommand using --args or -a for short. You must enclose the arguments in quotes, for example:
    shell> tungsten_send_diag -c 9999 -d --args ‘--all -v’
    Issue: CT-1220

Core Replicator (4)

  • A new replicator role thl-client has been added. This new role allows the replicator to download THL from a Primary, but not apply to the target database.
    Issue: CT-1123
  • A new delayInMs filter has been added which allows the applying of THL to a Replica to be delayed. The filter allows millisecond precision. This filter works in the same way as the TimeDelayFilter, however that filter only allows second precision.
    Issue: CT-1191
  • A new droprow JavaScript filter has been added. The filter works at ROW level and allows the filtering out of rows based on one or more column/value matches
    Issue: CT-1213
  • Tungsten Replicator can now correctly extract and parse Binary Log entries when the MySQL option binlog-transaction-compression has been enabled.binlog-transaction-compression is a new parameter introduced from MySQL 8.0.20.
    Issue: CT-1223

Amazon Redshift Replication (2)

  • When configuring the Redshift applier, you can now configure which tool the applier will use for posting CSV files to S3. Options are s3cmd (default), s4cmd or aws.
    Issue: CT-1218
  • A number of improvements have been made to the Redshift Applier to allow optional levels of table locking.

    This is particularly useful when you have multiple Redshift Appliers in a Fan-In topology, and/or very high volumes of data to process.

    The additional locking options reduce the risk of Redshift Serializable Isolation Violation errors occurring.

    See "Deploying the Amazon Redshift Applier" for full details on deploying a Redshift Applier.

    Issue: CT-1221

Filters (1)

  • debug has been disabled by default in the schemachange filter. Resulting in reduced noise in the replicator log file.
    Issue: CT-1013

Bug Fixes (23)

Command-line Tools (16)

  • In certain edge cases, tungsten_provision_slave would fail to detect if mysql was shutdown.
    Issue: CT-1096
  • tpm diag now collects directories specified with !includedir in the/etc/my.cnf file.
    Issue: CT-1153
  • Fixes the tpm update command, which would exit with the error:
    Argument " (error code 1)" isn't numeric
    Issue: CT-1165
  • tpm diag now collects any files specified by !include directives in the/etc/my.cnf and /etc/mysql/my.cnf files.tpm diag also looks in /etc/mysql/my.cnf for !includedir directives
    Issue: CT-1169
  • Fixes a bug which prevented tungsten_send_diag from uploading a self-generated diagnostic zip file.
    Issue: CT-1170
  • tpm diag now properly derives the correct target path to the releases directory if the home directory in the configuration points to a sym-link.
    Issue: CT-1172
  • Removed tpm diag call to sudo for gathering ifconfig and lsb_release commands.
    Issue: CT-1175
  • tpm update would fail and report errors if deployall had been executed.
    Issue: CT-1179
  • tpm diag no longer requires the mysql command-line client when running on non-MySQL Applier nodes, and no longer attempts to gather any MySQL diagnostic information.
    Issue: CT-1188
  • Removes the requirement to execute component start/stop commands with sudo when called through systemd. This is specific to start/stop actions following the use of the deployall scripts.
    Issue: CT-1193
  • Fixes cases where tpm fails when the OS hostname command returns a different string than what is used in the configuration (i.e. hostnamereturns a FQDN, yet the configuration contains shortnames like db1, db2, etc.).
    Issue: CT-1206
  • In certain cases, after a reprovision, tungsten_provision_slave didn’t always run the steps to reset the local replicator service. This made the replicator go into an error state after provision had completed.
    Issue: CT-1210
  • The tpm diag command now handles the cluster-slave topology more gracefully, and properly handles cluster nodes without the Connector installed. Improved output text clarity by converting multiple verbose-level outputs to debug, and warnings to notice-level.
    Issue: CT-1222
  • tpm diag now gathers sym-linked files correctly.
    Issue: CT-1232
  • Fixes a situation where tpm update exits with a Data::Dumper error.
    Issue: CT-1249
  • ddlscan now sets the datatype for sequence number columns to BIGINT when generating staging table DDL for Redshift deployments.
    Issue: CT-1235

Core Replicator (5)

  • Tungsten Replicator could wrongly think it is already in DEGRADEDmode when trying to put it into DEGRADED state.
    Issue: CT-1131
  • When host server time (and thus MySQL time) is **not** configured as UTC, issuing cluster heartbeat or trepctl heartbeat in the first hours around daylight savings time would create an invalid time in MySQL.
    Issue: CT-1174
  • Due to a change in the Binary log structure introduced in MySQL 8.0.16, the replicator would fail to extract transactions for Partitioned tables.
    Issue: CT-1201
  • The replicator would fail to correctly parse statements with leading comment blocks in excess of 200 characters.
    Issue: CT-1236
  • Tungsten Replicator now recognises Amazon AWS SSL Certificates to enable SSL communication with AWS Aurora.
    Issue: CT-1173

Vertica Replication (1)

  • The replicator would fail to apply into Vertica when configured as an offboard installation due to the applier incorrectly expecting the csv files to exist locally on the remote Vertica host.
    Issue: CT-1194

Filters (1)

  • In heterogeneous replicator deployments, the convertstringfrommysql filter would fail to convert strings for alphanumeric key values
    Issue: CT-1128

Tungsten Replicator 6.1.3

Build: 43
Release Date: 12 Sept 2025
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.3 contains a small number of critical bug fixes that can affect customers operating geo-distributed clusters across high latency network links, along with a small number of improvements and fixes to common command line tools.

Behavior Changes (2)

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 (2)

  • tpm diag has been updated to provide additional feedback detailing the hosts that were gathered during the execution, and also provides examples of how to handle failures When running on a single host configured via the ini method:
    shell> tpm diag
    Collecting localhost diagnostics.
    Note: to gather for all hosts please use the "-a" switch and ensure that you have paswordless &raquo;
    ssh access set between the hosts.
    Collecting diag information on db1.....
    Diagnostic information written to /home/tungsten/tungsten-diag-2020-02-06-19-34-25.zip
    When running on a staging host, or with the -a flag:
    shell> tpm diag [-a|--allhosts]
    Collecting full cluster diagnostics
    Note: if ssh access to any of the cluster hosts is denied, use "--local" or "--hosts=<host1,host2,...>"
    Collecting diag information on db1.....
    Collecting diag information on db2.....
    Collecting diag information on db3.....
    Diagnostic information written to /home/tungsten/tungsten-diag-2020-02-06-19-34-25.zip
    Issue: CT-1137
  • tpm diag : make the output from remote host diagnostic gathering visible in addition to alerting when a host is not reachable.
    Issue: CT-1158

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Backup and Restore (1)

  • The backup process, when configured to use Xtrabackup, uses the --stream=tar option as one of the options passed to the backup process. This option is no longer available in Xtrabackup 8.0 If you use Xtrabackup 8.0 in combination with MySQL 8, generating backups using the procedures available in Tungsten Clustering will fail. Until a fix is available and to allow backups to continue you will need to make the following edit to the configuration After installation, open the static-servicename.properties file located in INSTALL_PATH/tungsten/tungsten_replicator/conf Locate the following entry replicator.backup.agent.xtrabackup.options and within the string value, change the value of tar=true to tar=falseIf the replicator is already running, then you will need to issue replicator restart for the change to take effect
    Warning
    Changing the properties file directly will cause future tpm update commands to fail, therefore you should run this with the --force option, and then re-edit the file as per the above instructions to reset the tar option
    Issue: CT-1157

Improvements, new features and functionality (1)

MongoDB Replication (1)

  • The MongoDB Applier now supports MongoDB Atlas as a target.
    Issue: CT-1142

Bug Fixes (12)

Command-line Tools (10)

  • tpm would fail to run on some Operating Systems due to missing realpathtpm has been changed to use readlink which is commonly installed by default on most operating systems, however if it is not available, you may be required to install GNU coreutils to satisfy this dependency
    Issue: CT-1124
  • Removed dependency on perl module Time::HiRes from tpm
    Issue: CT-1126
  • Added support for handling missing dependency (Data::Dumper) within various tpm subcommands
    Issue: CT-1130
  • tpm will now work on MacOS/X systems, provided greadlink is installed.
    Issue: CT-1147
  • tpm install will no longer report that the linux distribution cannot be determined on SUSE platforms.
    Issue: CT-1148
  • Fixes a condition where tpm diag would fail to set the working path correctly, especially on Debian 8 hosts.
    Issue: CT-1150
  • tpm diag now checks for OS commands in additional paths (/bin, /sbin, /usr/bin and /usr/sbin)
    Issue: CT-1160
  • Fixes an issue introduced in v6.1.2 where the use of the undeployall script would stop services as it removed them from systemctl control
    Issue: CT-1166
  • tpm diag now gathers all hosts in a staging deployment when run from a non-staging node.
    Issue: CT-1155
  • tpm diag : fix ensures collection of diagnostics from standalone connector hosts.
    Issue: CT-1159

Core Replicator (1)

  • The replicator would fail with Unknown column '' in 'where clause when replicating between MySQL 8 hosts where the client application would write data into the source database host using a different collation to that of the default on the target database. The replicator would fail due to a mismatch in these collations when querying theinformation_schema.columns view to gather metadata ahead of applying to the target
    Issue: CT-1145

MongoDB Replication (1)

  • The MongoDB Applier has been updated to use the latest MongoDB JDBC Driver.
    Issue: CT-1134

Tungsten Replicator 6.1.2

Build: 94
Release Date: 20 Jan 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.2 contains both significant improvements as well as some needed bugfixes.

Behavior Changes (1)

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:

Behavior Changes (1)

  • Certified the Tungsten product suite with Java 11. A small set of minor issues have been found and fixed (CT-1091, CT-1076) along with this certification. The code is now compiled with Java compiler v11 while keeping Java 8 compatibility. Java 9 and 10 have been tested and validated but certification and support will only cover Long Term releases.
    Known Issue
    With Java 11, command line tools are slower. There is no impact on the overall clustering or replication performance but this can affect manual operations using CLI tools such as cctrl andtrepctl
    Issue: CT-1052

Improvements, new features and functionality (3)

Command-line Tools (1)

  • The tpm command was originally written in Ruby. This improvement converts tpmto Perl over time, starting with the tpm shell wrapper and refactoring each sub-command one-by-one. For this release, we have redone the diag, mysql and connector sub-commands. This also wraps the update sub-command to provide the CT-1093 clustering fix.
    Issue: CT-1048

Core Replicator (2)

  • A new JavaScript filter dropddl.js has been added to allow selective removal of specific object DDL from THL.
    Issue: CT-1092
  • A new Replicator role, thl-server, has been added. This new feature allows your Replica replicators to still pull generated THL from a Primary even when the Primary replicator has stopped extracting from the binlogs. If used in Tungsten Cluster, this feature must only be enabled when the cluster is in MAINTENANCE mode.
    Issue: CT-58

Bug Fixes (10)

Behavior Changes (3)

  • Corrected resource leak when loading Java keystores
    Issue: CT-1091
  • If you need to reposition the extractor, there are a number of ways to do this, including the use of the options -from-event or -base-seqno

    Both of these options are mutually exclusive, however in some situations, such as when positioning against an Aurora source, you may need to issue both of these options together. Previously this was not possible. In this release both options can now be supplied providing that you include the additional-force option, for example

    shell> trepctl -service serviceName online -base-seqno 53 -from-event 000412:762897 -force
    Issue: CT-1065
  • When the Replicator inserts a heartbeat there is an associated timezone. Previously, the heartbeat would be inserted using the GMT timezone, which fails during the DST switch window. The new default uses the Replicator host's timezone instead.

    This defaults change corrects an edge case where inserting a heartbeat will fail during the DST switch window when the MYSQL server is running in a different timezone than the Replicator (which runs in GMT).

    For example, on 31st March 2019, the time switch occurred @ 2AM in the Europe/Paris timezone. When inserting a heartbeat in the window between 4 and 5 AM (say at 4:15am), the corresponding GMT time would be 2:15am, which is invalid in the Europe/Paris timezone. Replicator would then fail if the MySQL timezone was set to Europe/Paris, as it would try to insert an invalid timestamp.

    A new option, -tz has been added into the trepctl heartbeat command to force the use of a specific timezone.

    For example, use GMT as the timezone when inserting a heartbeat:

    shell> trepctl heartbeat -tz NONE

    Use the Replicator host's timezone to insert the heartbeat:

    shell> trepctl heartbeat -tz HOST

    Use the given timezone to insert the heartbeat:

    shell> trepctl heartbeat -tz {valid timezone id}

    If the MySQL server timezone is different from the host timezone (which is strongly not recommended), then -tz [valid timezone id] should be used instead where [valid timezone id] should be the same as the MySQL server timezone.

    Issue: CT-1066

Command-line Tools (2)

  • The deployall script was only able to install init.d system startup scripts. In this release, the script will now detect the initialization system in use (systemd or initd) and prefer systemd when both are available. **For systemd configurations only:** For continuity of service reasons, the deployall script does NOT restart individual components when called, it will only install systemd scripts. This implies that, right after a call todeployall and before host restart, the system will stay in a mixed mode where systemd scripts are in place but components were started without systemd, so won’t be controllable by it. In order to align the configuration, you will need to run
    shell> component stop sysd
    shell> sudo systemctl start tcomponent
    For example:
    shell> connector stop sysd
    shell> sudo systemctl start tconnector
    Issue: CT-853
  • The tpm command no longer reports warnings about existing system triggers with MySQL 8+
    Issue: CT-1099

Core Replicator (4)

  • The following warnings would appear in the replicator log due to GTID events not being handled.
    WARN extractor.mysql.LogEvent Skipping unrecognized binlog event type 33, 34 or 35)
    The WARN message will no longer appear, however GTID Events are still not handled in this release, but will be fully extracted in a future release.
    Issue: CT-1114
  • If a JSON field contained a single quote, the replicator would break during the apply stage whilst running the generated SQL into MySQL. Single quotes will now be properly escaped to solve this issue
    Issue: CT-983
  • Under rare circumstances (network packet loss or MySQL Server hang), the replicator would also hang until restarted. This issue has been fixed by using specific network timeouts in both the replicator and in the Drizzle jdbc driver connection logic
    Issue: CT-1034
  • When configuring Active/Active, standalone replicators, with the BidiSlave filter enabled, the replicator was incorrectly parsing certain DDL Statements and marking them as unsafe, as a result they were being dropped by the applier and ignored

    The full list of DDL commands fixed in this release are as follows:

    • CREATE|DROP TRIGGER
    • CREATE|DROP FUNCTION
    • CREATE|DROP|ALTER|RENAME USER
    • GRANT|REVOKE
    Issues: CT-1084, CT-1117

kafka (1)

  • When configuring a Kafka Applier, the Kafka Port was set incorrectly
    Issue: CT-693

Tungsten Replicator 6.1.1

Build: 130
Release Date: 28 Oct 2019
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.1 contains both significant improvements as well as some needed bugfixes.

Improvements, new features and functionality (1)

Core Replicator (1)

  • If using the dropcolumn filter during extraction, in conjunction with the Batch Applier (eg Replicating to Redshift, Hadoop, Vertica) writes would fail with a CSV mismatch error due to gaps in the THL Index.

    However, for JDBC appliers, the gaps are required to ensure the correct column mapping

    To handle the two different requirements, a new property has been added to the filter to control whether or not to leave the THL index untouched (the default) or to re-order the Index ID's

    If applying to Batch targets, then the following property should be added to your configuration. The property is not required for JDBC targets.

    property=replicator.filter.dropcolumn.fillGaps=true
    Issue: CT-1025

Bug Fixes (5)

Command-line Tools (5)

  • Fixed an issue where the command trepctl -all-services status -name watches fails.
    Issue: CT-977
  • Fixed an issue that would prevent reading remote binary logs when using SSL.
    Issue: CT-958
  • Improve the ability to find needed binaries for commands: tungsten_find_position, tungsten_find_seqno andtungsten_get_rtt
    Issue: CT-1054
  • Restored previously-removed log file symbolic links under \$CONTINUENT_ROOT/service_logs/
    Issue: CT-1026
  • Fixed a bug where tpm diag would generate an empty zip file if the hostnames contain hyphens (-) or periods (.)
    Issue: CT-1032

Tungsten Replicator 6.1.0

Build: 77
Release Date: 31 Jul 2019
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

Release 6.1.0 contains both significant improvements as well as some needed bugfixes. One of the main features of this release is MySQL 8 support.

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.

More info on these authentication plugins can be found here

The Drizzle driver has been updated to support these new authentication methods, and the MySQL Connector/J 8 is also supported.

Improvements, new features and functionality (5)

Command-line Tools (2)

  • 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.
    Issue: CT-761
  • 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.
    Issue: CT-934

Core Replicator (2)

  • Upgraded the Drizzle driver to support MySQL 8 authentication protocols (SHA256, caching_sha2).
    Issues: CT-931, CT-914, CT-966
  • 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 Replicas using mysqldump andxtrabackup tools, and is MySQL 8-compatible.

    The prov-sl.sh command is written in Bash, has less dependencies compared to the current version 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.

    Logs are written to $CONTINUENT_ROOT/service_logs/prov-sl.log (i.e. /opt/continuent/service_logs/prov-sl.log).

    For example, provision a Replica from [source db] using mysqldump (default):

    shell> prov-sl.sh -s {source db}

    As another example, use xtrabackup for the backup method, with 10 parallel threads (default is 4), and ssh is listening on port 2222:

    shell> prov-sl.sh -s {source db} -n xtrabackup -t 10 -p 2222
    Warning
    At the moment, prov-sl.sh does not support Composite Active/Active topologies when used with Tungsten Clustering, however it will be included in a future release.
    Issues: CT-809, CT-963, CT-855, CT-723, CT-614

Amazon Redshift Replication (1)

  • The Redshift Applier now allows AWS authentication using IAM Roles. Previously authentication was possible via Access and Secret Key pairs only.
    Issue: CT-980

Bug Fixes (5)

Core Replicator (2)

  • Now properly extracting the Geometry datatype.
    Issue: CT-997
  • Added support for missing charset GB18030 to correct WARN extractor.mysql.MysqlBinlog Unknown charset errors.
    Issues: CT-932, CT-915

Amazon Redshift Replication (2)

  • Loading data into Redshift would fail with the following error if a row of data contained a specific control character (0x00 (NULL))
    Missing newline: Unexpected character 0x30 found at location nnn
    Issue: CT-984
  • 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
    Issue: CT-1002

Filters (1)

  • The extract_schema_change filter wasn't escaping " (double-quotes) and the generated JSON would then cause the applier to error with:
    pendingExceptionMessage: SyntaxError: missing } after property list
    (../../tungsten-replicator//support/filters-javascript/apply_schema_changes.js#236(eval)#1)
    Issue: CT-1011

Dashboard v1

Tungsten Dashboard 1.0

Tungsten Dashboard 1.0.17

Release Date: 5 Dec 2024
Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.17 is a feature and bugfix release.

Tungsten Dashboard 1.0.16

Release Date: 3 Sept 2024
End of Life Date: 5 Dec 2025
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.16 is a feature and bugfix release.

Tungsten Dashboard 1.0.15

Release Date: 14 Feb 2024
End of Life Date: 3 Sept 2025
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments.

Tungsten Dashboard v1.0.15 is a feature and bugfix release.

  • New Feature - Dashboard now checks to see if the pipelinesource on a replica is not pointing to the current primary and highlights the pipelineSource with bold red if mismatched.
  • New Feature - now able to change the Auto-Configure host and port via Settings
  • Improvement - Dashboard now has Connector polling disabled by default to reduce manager load. Enable via the Settings panel. Technical Details - automatically adds the ?includeRouters=false flag to the end of calls to /api/v2/manager/cluster/status and/api/v2/manager/status/service/{$service}
  • Improved Docker support.
  • Improved support for Distributed Data Groups (DDG), including an added setting for enableDDGNodeColors.
  • Improvement - updated various wording to differentiate between the Auto-Define and Auto-Configure features.
  • Improvement - Updates all copyrights to 2024.
  • Bug fix - Primary definition corrected to exclude shunned or failed masters.
  • Bug fix - Settings panel help broken when fancy tooltips were not enabled.
  • Bug fix - Auto-Define now gets the proper security defaults when none are specified in the form.

Tungsten Dashboard 1.0.14

Release Date: 11 Apr 2023
End of Life Date: 14 Feb 2025
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.14 is a feature and improvements release.
  • Upgraded to jQuery 3.6.4
  • Added new feature "Client Request Tracking" to log one line per client request call. Enable via the Configuration Settings panel. Also appears in verbose and debug modes.

Tungsten Dashboard 1.0.13

Release Date: 1 Feb 2023
End of Life Date: 11 Jan 2024
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.13 is a bugfix release to correct a regression in the auto-define feature.
  • Fixed an auto-configure regression bug for composite clusters

Tungsten Dashboard 1.0.12

Release Date: 14 Dec 2022
End of Life Date: 31 Jan 2025
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.12 mainly provides support for the new datasource drain feature in Tungsten Clustering v7.0.2, along with a few improvements and bugfixes.
  • The new datasource drain feature in Tungsten Clustering v7.0.2 is now supported in the Tungsten Dashboard node menus There is a new,related setting called drainTimeout which controls the length of time to wait before closing the connection to a database node from a Connector
  • Changed managerPort setting default value to 8201 from 8091
  • Updated the auto-refresh browser-specific timestamp display to fit better on the navbar
  • Corrected a page reload issue

Tungsten Dashboard 1.0.11

Release Date: 8 Nov 2022
End of Life Date: 14 Dec 2023
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.11 provides a number of new features, improvements and bugfixes.Cluster Configuration File Changes
  • The config.php file has been updated to include a config.json file in the same subdirectory. If the config.json exists, the contents will be used in place of any json configuration defined manually in the config.php file.
  • The new best practice is to use only config.json, not config.php any longer.
  • Since there is a new config.php file with this version, a new migration tool called upgrade_config.php has been included to easily install the new config.php file while still maintaining all of your existing settings. The upgrade_config.php command will create a new file called config.json containing all of the settings that used to be inside theconfig.php file.
    Important
    The upgrade_config.php tool should be NOT be RUN if the config.json file already exists! The upgrade_config.php tool should be RUN ONLY ONCE!
    COMPLETE ALL THE STANDARD UPGRADE STEPS FIRST!

    shell> cd {DASHBOARD_WEBROOT}/
    For example:
    shell> cd /volumes/data/www/tungsten/html/

    shell> ./upgrade_config.php `pwd`
    Important
    The upgrade_config.php tool should be NOT be RUN if the config.json file already exists! The upgrade_config.php tool should be RUN ONLY ONCE!
New! Cluster Tagging and Filtering Feature
  • You are now able to specify one or more tags per cluster in all cluster definition forms.
  • You are now able to filter the cluster display by a tag from the top search bar.
Support for both v6/APIv1 and v7/APIv2 clusters at the same time!Support for per-cluster API User and Password!
  • You are now able to specify the API settings on a per-cluster basis (apiVersion, apiAuth, apiUser, apiPassword and apiSSL), allowing for mixed APIv1 and APIv2 clusters in the same Dashboard session, and clusters with different admin user/password pairs.
  • In previous versions of the Tungsten Dashboard, the API Version, API Authentication/User/Password and API Encryption settings were global only. This meant that a version 6 cluster running APIv1 and a version 7 cluster running APIv2 would not work at the same time in the same Dashboard session, nor would clusters with different API user/password pairs.
  • The new configuration fields have been added to the display, add and edit cluster definition forms in all areas of the dashboard.
  • The API settings for each cluster are now displayed upon hover over the cluster service name. Each option will also show if the value is derived from the global default, or from a cluster-specific setting.
  • Expert mode now allows one-click toggling of global API authentication and SSL Encryption options in addition to the existing global API version toggle.
New Display Options for the REACT Frontend GUI
  • Two new settings have been added to the Tungsten Dashboard to support an improved GUI experience.
  • Both of the new settings are available via the GUI (config.php options in parens):
    • Display Style (displayStyle) Specify which horizontal display method to use in the new REACT frontend (Fill Space or Compressed)
    • Home Page (homepage) Specify which page to display first in the new REACT frontend (Cluster, Dashboard or Metrics)
New Cluster Rename Behavior
  • When changing a composite cluster parent name, the children are now updated with the new parent name. Previously, this was a manual operation.
  • When changing a composite cluster child name, the parent is now updated with the new child name. Previously, this was a manual operation.
New Tab Bar Behaviors for Improved Performance
  • A new setting (enableTabs) has been added to the Tungsten Dashboard to control the Tab bar behavior.
  • While getting the information to populate the Tab bar is a lightweight AJAX call, the actual data gathering in the backend is quite heavy, and requires an API call to every cluster. This backend processing can cause slowdowns in response time for the Dashboard and is why the new default is to have "dumb" Tabs and better performance.
  • Now, by default, the Tab bar will operate in "dumb" mode, and will NOT display the quantity of nodes that are not in AUTOMATIC mode, nor the quantity of nodes that are in the not ready state. Also, the Tab refresh button will not appear either.
  • Enabling Tabs in the Settings Panel restores the original behavior of displaying the counts and the refresh button.
Additional New Features of Note
  • The Tungsten Dashboard now fully supports CAA clusters in v6!
  • Added the ability to close windows using the Escape key, enabled by default. Disable in the Settings panel.
  • Added a Copy To Clipboard button to all cluster configuration display windows.
  • Added a refresh button to the missing cluster display box for convenience - no longer need to refresh the entire page
  • In expert mode, there is a new heartbeat trigger button per cluster in old frontend
  • Cleaned up error_log calls to make the log file as quiet as possible, and added new setting (enableVerbose) and the associated verbose_log() function.
  • When RBAC is enabled, a logout link is now visible at the bottom center of the footer. Also improved footer messaging when RBAC is disabled and/or basic auth is disabled.
  • For both auto and manual cluster definition, if you create a Dashboard Service ID (service name) with hyphens, they will be converted to underscores upon save due to the way Javascript handles id's with hyphens.
  • When useHAProxy is enabled, the Manager Port will now be set to 8201 instead of 8091 to avoid port conflicts when installed directly on a cluster node.
  • The browser-specific date and time display for auto-refresh has been shortened to better fit on the navbar.

Tungsten Dashboard 1.0.10

Release Date: 7 Mar 2022
End of Life Date: 8 Nov 2023
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments.

Tungsten Dashboard v1.0.10 provides a number of new features, improvements and bugfixes.

Prometheus and Grafana Integration
  • Two new settings have been added to the Tungsten Dashboard to support Prometheus and Grafana integration.
  • Both of the new settings are available via the GUI (config.php options in parens):
    • Enable Prometheus Integration (enablePrometheus) Enable integration with Prometheus to display data in a new window.
    • Enable Grafana Integration (enableGrafana) Enable integration with Grafana to display graphs inside the Dashboard.
Configurable CURL Timeouts
  • Two new settings have been added to the Tungsten Dashboard to help compensate for slow environments where API calls may take longer to complete.
  • Both of the new settings are available via the GUI (config.php options in parens):
    • CURL GET Timeout (curlTimeoutGET) The timeout used when curl connects to the Manager for a GET-specific API call, in seconds.
    • CURL POST Timeout (curlTimeoutPOST) The timeout used when curl connects to the Manager for a POST-specific API call, in seconds.
New Audit Trail Feature
  • The ability to track all write API calls made has been added.
  • There will be one audit file per day created in the auditDir (default: {WEBROOT}/audit.d).
  • One line per write containing: timestamp, ipaddr, user, role and msg/action
  • The new setting is partially available via the GUI (config.php options in parens):
    • Enable Audit Trail (enableAudit) Capture all POST API calls to a file in the {WEBROOT}/audit.d subdir like audit-{YYMMDD}.log
    • Audit subdirectory name (auditDir) (NOT available via GUI) The directory used to store the audit files (default: {WEBROOT}/audit.d)
New Notes-Per-Node Feature
  • You can now store text on a per-node basis.
  • There will be one note file per node created in the notesDir (default: {WEBROOT}/notes.d).
  • The new setting is partially available via the GUI (config.php options in parens):
    • Enable Per-Node Notes (enableNotes) Turn on the notes per node feature to capture text to a file in the {WEBROOT}/notes.d subdir, named like {SERVICE}-{FQDN}.txt
    • Note Icon (noteGlyphicon) (NOT available via GUI) Use noteGlyphicon to specify the note-per-node Glyphicon (default: comment).
    • Notes subdirectory name (notesDir) (NOT available via GUI) The directory used to store the note files (default: {WEBROOT}/notes.d)
New API URL Display Feature
  • You can now enable the display of the back-end API call URLs for transparency and learning.
  • The new setting is available via the GUI (config.php options in parens):
    • Enable API URL Display (enableURLDisplay) Display the API call URL for each command run.
New Flag-On-Lag Feature
  • You can now automatically highlight node rows where the Replicator is lagging by a specified number of seconds.
  • The new setting is available via the GUI (config.php options in parens):
    • Flag-On-Lag Delay (flagOnLagDelay) (in seconds) Set this option to a non-zero value to enable node row highlighting when the Replica is more than the specified number of seconds behind the Primary.
    • Flag-On-Lag Color (flagOnLagColor) The background color to use when marking a node row as too far behind. One of Info (blue), Warning (yellow) or Danger (red).

Tungsten Dashboard 1.0.9

Release Date: 12 Aug 2020
End of Life Date: 7 Mar 2023
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments.

Tungsten Dashboard v1.0.9 provides a number of new features, improvements and bugfixes.

Dashboard Configuration
  • Now able to configure Dashboard settings via the browser You can disable the editing of settings in the browser by changing the value of disableSettingsEdit to 1 in theconfig.php file, in the "settings": stanza:
    "disableSettingsEdit": 1
  • All settings configured via the browser page are stored in the {webroot}/settings.d/ directory as individual JSON text files named for the setting. Please ensure it exists and is writable by the web server user.
  • You may edit or delete any of the files in the {webroot}/settings.d/ directory. The setting will revert to the default if deleted. You may also choose to configure settings in this way as opposed to using the config.php file. Either method is supported.
  • Refactored all options and created centralized defaults
Software Update
  • Now able to self-update the Dashboard software via the browser

    There are four related settings, enableUpdates, tmpDir, downloadAccessKey and downloadSecretKey.

    All four must be located in the config.php file, in the "settings": stanza. They are not accessible from the browser settings page.

    You can disable the Dashboard self-update feature by changing the value of enableUpdates to 0 in config.php (default: 1):

    "enableUpdates": 1

    The tmpDir value is used to determine where downloaded software packages are saved to:

    "tmpDir":"/tmp"

    The other two (downloadAccessKey and downloadSecretKey) need to be obtained from Continuent support and typically ship with the Dashboard installation package.

Cluster Definitions
  • Now able to manually create and save cluster definitions in the conf.d subdirectory. Originally, a cluster could only be defined in the "clusters": stanza.
  • Now able to create and save cluster definitions to the conf.d subdirectory via a browser workflow
  • Added Display, Edit and Remove Cluster Definition menu choices for each cluster
  • Now able to automatically define cluster definitions in conf.d just by providing a hostname and port number in a browser workflow
  • Now able to automatically define cluster definitions in conf.d at Dashboard startup

    There are three related settings, enableAutoConfiguration, managerPort and useHAProxy.

    You can enable the Dashboard auto-configuration feature by changing the "Enable Auto-Configuration?" setting via the Dashboard settings page in the browser, or changing the value of enableAutoConfiguration to 1 in config.php (default: 0) or via the Dashboard settings page in the browser:

    "enableAutoConfiguration": 1

    The managerPort value is used to determine what port to communicate with the manager upon when performing auto-configuration and auto-define, as well as populating form fields in other places. Only change this if you have changed the API listener port for the Manager as well.

    "managerPort": 8090

    The useHAProxy value is used to determine how to calculate ports when performing auto-configuration and auto-define.

    Set the value to 1 to determine the manager port number automatically during various operations based on calulations using the base managerPort.

    Set the value to 0 (default) to use the base managerPort with no attempt to auto-define the port.

    You can enable the manager port auto-configuration feature by changing the "Using HA Proxy?" setting via the Dashboard settings page in the browser, or changing the value in the config.php file.

    "useHAProxy": 1
UI/UX
  • Role name cleaning (Master is now Primary, and Slave is now Replica for nodes; Master is now Active, and Slave is now Passive for clusters)
  • Improve error handling for JSON responses to AJAX calls
  • Bug fixes in service alias support
  • Many footer improvements, including a link to check for an available Dashboard software update
  • Stop providing tabInfo during intitial page load, instead do it as AJAX call after load to save initial page load time
Dashboard Diagnostics
  • Now able to upload a Dashboard Diagnostic containing the JSON configuration to Continuent Support's protected AWS bucket. No other customer has access to this location, it is upload-only.

    There are three related settings, customerName, uploadAccessKey and uploadSecretKey.

    The customerName value is used to pre-populate the diagnostic upload form.

    "customerName":"your customer name here"

    The other two (uploadAccessKey and uploadSecretKey) need to be located in config.php

    "uploadAccessKey":"AKIAIWDZPQUE5YL4SBDQ",
    "uploadSecretKey":"FQ0iVkTtH9biIZT2+IpwXwhqXvVwqMUqsZ4++N4K"
Misc Admin
  • New Expert mode disables both confirmation prompts when Deleting All Definitions

    The default is 0 (disabled). Set enableExpertMode to 1 (one) to enable.

    "enableExpertMode": 1
  • Use the enableDebug setting to get additional logging information and use the debug software versions when checking for an available update.
    "enableDebug": 1

Tungsten Dashboard 1.0.8

Release Date: 4 Jun 2020
End of Life Date: 12 Aug 2021
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.8 provides a number of new features, improvements and bugfixes.
  • Added basic Role-Based Access Control (RBAC). There are two roles, Administrator with full access and Operator with Read-Only access. This feature requires Basic Auth to be properly configured on the Web server. When enabled, the user's current role will be displayed in the footer. Refresh the page to activate any changes to config.php. The default is 0 (disabled). Set enableRBAC to 1 (one) to enable.
    "enableRBAC":1
    Use the administrators setting to list the users with admin privs:
    "administrators": [ "adminUser1","adminUser2" ]
  • Improved page load performance via caching of API calls. This is especially helpful with Composite clusters that have multiple sites over a wide area.
  • Added the ability to modify the browser window title using the new configuration option windowTitle
  • Added the ability to change the cluster service sort order from the alpha default to as-written configuration order using the new configuration optionsortByConfigOrderNotAlpha
  • Site favicons along with the navigation bar logo and colors have been updated to promote a cleaner look. Additional icon replacements and color tweaks have been made throughout the tool.
  • Added hover-based tooltips for all fields and buttons where possible. Set disableTooltips to 1 to prevent the tooltips from appearing.
  • Significantly improved the Connector popover formatting, sorting and operation.
  • Message handling is improved so that multiple actions and responses are tracked and messaged properly.
  • Added the ability to view the json configuration in the browser via a menu link.
  • Added the ability to check for Dashboard software updates.
  • Added the ability to check for Clustering software updates on a per-node basis.
Tungsten Dashboard is compatible with both the Tungsten Clustering 5.3.x series and 6.x series.

Tungsten Dashboard 1.0.7

Release Date: 26 Nov 2019
End of Life Date: 4 Jun 2021
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.7 provides a number of new features, improvements and bugfixes.
  • Added the feature to allow for cluster service name aliases. You may now add the sub-key actualName pointing to the "real" name of the service, and change the top-level cluster service name to some alias that you understand. Previously, it was impossible to configure two or more clusters with the same service name. This could be required if clusters were installed into different environments like production, staging or development. While the best practice is to name the cluster services to match the environment (i.e. east_prod and east_staging), in some situations this may not be possible.
  • Added a new feature to automatically fade out messages after a delay. The default is 60 seconds. Set msgFadeOutTimer to 0 (zero) to disable or to a positive integer to specify the delay in seconds.
    "msgFadeOutTimer":60
  • Improved the look & feel of the overall layout, including display widths, the location of the timestamp marker and spacing.
  • Fixed a bug where the controls to open and close a cluster were STILL not working.
  • Fixed a bug where the datasource status details hover was not displaying properly
Tungsten Dashboard is compatible with both the Tungsten Clustering 5.3.x series and 6.x series.

Tungsten Dashboard 1.0.6

Release Date: 3 Sept 2019
End of Life Date: 22 Nov 2020
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments.

Tungsten Dashboard v1.0.6 is a bugfix and minor feature release.

  • Fixed a bug where the controls to open and close a cluster were not working.
  • When Auto-refresh is turned on, any issuance of a command will stop the auto-refresh. Simply re-select your desired refresh rate to turn it back on.

Tungsten Dashboard is compatible with both the Tungsten Clustering 5.3.x series and 6.x series.


Tungsten Dashboard 1.0.5

Release Date: 28 Jun 2019
End of Life Date: 3 Sept 2020
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.5 is a bugfix release.
  • Fixed Composite Active/Active cluster bug where clusters other than the first do not show subservices.
  • Tweaked cell alignment
Tungsten Dashboard is compatible with both the Tungsten Clustering 5.3.x series and 6.x series.

Tungsten Dashboard 1.0.4

Release Date: 11 Apr 2019
End of Life Date: 28 Jun 2020
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.4 is a bugfix release.
  • Fixed cluster-level open/close regression.
  • Tweaked error text and reduced noise in the logs.
Tungsten Dashboard is compatible with both the Tungsten Clustering 5.3.x series and 6.x series.

Tungsten Dashboard 1.0.3

Release Date: 22 Mar 2019
End of Life Date: 11 Apr 2020
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.3 is a feature release for better global controls and customization.
  • Added modal "Stop Auto-Refresh" button which will turn off the Auto-refresh feature. This button is only visible if auto-refresh is enabled.
  • Added ability to set global buttons to icon, text or some combination. Use the setting navButtonFormat and specify one or more of icon ortext as a comma-separated string, no spaces. Order counts.
    $jsonConfig = <<<EOJ
    {
    "settings": {
    "navButtonFormat":"icon",
    ...
    EOJ;
    Currently there are four (4) possible entries:
    "navButtonFormat":"icon",
    "navButtonFormat":"text",
    "navButtonFormat":"icon,text",
    "navButtonFormat":"text,icon",
    The default for navButtonFormat is icon if not specified.
Tungsten Dashboard is compatible with both the Tungsten Clustering 5.3.x series and 6.x series.

Tungsten Dashboard 1.0.2

Release Date: 20 Sept 2018
End of Life Date: 20 Mar 2020
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.2 is a bug fix release for better API error handling.
  • Refactored API calls for better error handling.
  • Better error reporting on the front-end.
Tungsten Dashboard is compatible with both the Tungsten Clustering 5.3.x series and 6.x series.

Tungsten Dashboard 1.0.1

Release Date: 17 Sept 2018
End of Life Date: 20 Sept 2019
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. Tungsten Dashboard v1.0.1 is a bug fix release that also contains a few improvements.
  • Support for Composite Active/Active topology offered in Continuent Clustering v6.x (requires Continuent Clustering version 6.0.3)
  • Improvements to the menu system layout and clarity
  • Composite-level cluster commands have been relocated to a new menu to the right of the State field
  • Composite clusters now display the actual composite state instead of the Ready/Warning/Error status indicators, and status indicator lights have been moved to the left of the State label
  • Improvements to the locking system:
    • Auto-Lock and Auto-Unlock are now both configurable via config.php
    • Auto-Lock and Auto-Unlock setting are now both visible at the bottom of the cluster-level locking menu
    • Auto-Lock may be configured to attempt a lock for all actions, heartbeats only, or not at all
    • Auto-Unlock may be configured to attempt an unlock for all actions, heartbeats only, or not at all
  • Additional formatting tweaks, including the reduction in height of the rows
Tungsten Dashboard is compatible with both the Tungsten Clustering 5.3.x series and 6.x series.

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Behavior Changes (1)

  • Tungsten Dashboard is now compatible with Tungsten Clustering 6.0.0 Composite Active/Active topologies, but only as of Tungsten Clustering version 6.0.3.

Tungsten Dashboard 1.0.0

Release Date: 10 May 2018
End of Life Date: 17 Sept 2019
Product End of Life

This release is past End of Life.

Tungsten Dashboard provides a web-based UI for monitoring and managing Tungsten Clustering deployments. It supports the following features:
  • Full monitoring information on the status and progress of replication and the status of the cluster
  • Monitor multiple clusters through a single page
  • Perform switches and failovers
  • Shun hosts
  • Recover failed hosts
Tungsten Dashboard is compatible with the Tungsten Clustering 5.3.x series.

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Behavior Changes (1)

  • Tungsten Dashboard is not compatible with Tungsten Clustering 6.0.0. This will be addressed in a future release.

Tungsten MI

Tungsten MI 8.0

Tungsten MI 8.0.4.1

Release Date: Not Yet Released
Launched with version 8.0.4 build xx of the Tungsten suite of products. The product specific release notes for this release can be found at:

Improvements, new features and functionality (1)

Documentation (1)

  • All documentation URL references in help text output have been updated.
    Issue: CT-2686

Tungsten MI 8.0.3.2

Release Date: 13 Mar 2026
It was launched with version 8.0.3 build 39 of the Tungsten suite of products. The product specific release notes for this release can be found at:

Bug Fixes (1)

Installation and Deployment (1)

  • Resolves a "Missing Library" error when launching appliers.
    Issue: TMI-16

Tungsten MI 8.0.3.1

Release Date: 23 Feb 2026
It was launched with version 8.0.3 build 38 of the Tungsten suite of products. The product specific release notes for this release can be found at:

Tungsten MI 8.0.2.1

Release Date: 13 Jan 2026

This release includes a number of minor fixes to the launch Wizard and is shipped with the newest Tungsten product release.

It was launched with version 8.0.2 build 87 of the Tungsten suite of products. The product-specific release notes for this release can be found at

Behavior Changes (3)

The following changes have been made to Tungsten MI that changes the behavior of the MI; this could include a change in default values or in methods required to configure the host.

Installation and Deployment (3)

  • The binlog_format MySQL property is now set to ROW by default for all Cluster topology installations.
    Issue: TMI-14
  • The default MySQL root password has been changed for MySQL installations as part of the Clustering builds. The password will be presented at the end of the Wizard setup and should subsequently be changed manually by the user after installation.
    Issue: TMI-13
  • The images now launch with Java 21.
    Issue: TMI-12

Bug Fixes (3)

TMI Configuration Wizard (3)

  • When choosing a new hostname or servicename during the Wizard process, the script will ensure the entered text does not contain any invalid characters.
    Issue: TMI-15
  • The README files have now been updated to include the correct URL directing to the Prerequisite doc pages.
    Issue: TMI-11
  • When configuring a MySQL Applier to apply to a Tungsten Cluster, a number of ini properties were not correctly applied to the generated tungsten.ini file. This has now been corrected.
    Issue: TMI-10

Tungsten MI 8.0.1.1

Release Date: 9 Oct 2025

No changes were made to the TMI Launch wizard in this release.

It was launched with version 8.0.1 build 185 of the Tungsten suite of products. The product specific release notes for this release can be found at


Tungsten MI 8.0.0.1

Release Date: 28 Apr 2025

This release includes a number of minor fixes to the launch Wizard and is shipped with the newest Tungsten product release.

It was launched with version 8.0.0 build 305 of the Tungsten suite of products. The product specific release notes for this release can be found at

Behavior Changes (2)

The following changes have been made to Tungsten MI that changes the behavior of the MI; this could include a change in default values or in methods required to configure the host.

Behavior Changes (2)

  • Fixed an issue which prevented the launch wizard creating a valid configuration for MongoDB Atlas appliers.
    Issue: TMI-8
  • Install wizard now includes the new cloud-install property when configuring against a cloud source or target.
    Issues: TMI-7, CT-2317

Tungsten MI 7.1

Tungsten MI 7.1.4.3

Release Date: 27 Mar 2025
End of Life Date: 7 Jul 2026

This release includes a number of minor fixes to the host operating systems configurations and included packages.

It was launched with version 7.1.4-11 of the Tungsten suite of products. The product specific release notes for this release can be found at

Behavior Changes (1)

The following changes have been made to Tungsten MI that changes the behavior of the MI; this could include a change in default values or in methods required to configure the host.

Behavior Changes (1)

  • Images no longer include the gstreamer package. This isn't required for Tungsten products and therefore removing from the built VM's bypasses issues with known vulnerabilities in gstreamer.
    Issue: TMI-9

Tungsten MI 7.1.4.2

Release Date: 9 Jan 2025
End of Life Date: 7 Jul 2026

This release includes a number of minor fixes to the host operating systems configurations and included packages.

It was launched with version 7.1.4-11 of the Tungsten suite of products. The product specific release notes for this release can be found at

Behavior Changes (1)

The following changes have been made to Tungsten MI that changes the behavior of the MI; this could include a change in default values or in methods required to configure the host.

Behavior Changes (1)

  • Install wizard now includes install=true by default ensuring that Tungsten components are correctly registered with systemctl and will start automatically when the host boots.
    Issue: TMI-2

Bug Fixes (3)

Installation and Deployment (3)

  • The host now includes the ed25519 and bcrypt-pbkdf ruby gems required by a number of Tungsten scripts.
    Issue: TMI-6
  • The host now includes the perl-sigtrap module required by a number of Tungsten scripts.
    Issue: TMI-5
  • The selinux contexts are now set correctly to ensure software will start correctly via systemctl.
    Issue: TMI-4

Tungsten MI 7.1.4.1

Release Date: 12 Dec 2024
End of Life Date: 7 Jul 2026

This release marks a change in name from Tungsten AMI which was specific to Amazon AWS, to Tungsten MI (TMI) which coincides with the launch of the images to the Google GCP Marketplace.

To ensure consistency across cloud providers, the AWS images now launch on Rocky Linux 9.5, previously Amazon Linux 2. GCP images also launch with the same.

It was launched with version 7.1.4-11 of the Tungsten suite of products. The product specific release notes for this release can be found at


Tungsten MI 7.1.2

Release Date: 9 Apr 2024
End of Life Date: 7 Jul 2026

This AMI release fixes a few issues with the launch wizard, which now allows easy configuration with IPv6 hosts.

It was launched with version 7.1.2-42 of the Tungsten suite of products. The product specific release notes for this release can be found at


Tungsten MI 7.0

Tungsten MI 7.0.1

Release Date: 22 Jun 2020
End of Life Date: 28 Jun 2026

For this release, the version number of the AMI was adjusted to be in line with the version of the Tungsten Products that are shipped with the images.

It was launched with version 7.0.1-96 of the Tungsten suite of products. The product-specific release notes for this release can be found at


Tungsten MI 5.0

Tungsten MI 5.0.0

Release Date: 10 May 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

This AMI release resolves Amazon Linux OS vulnerabilities identified by AWS and a number of small improvements in the deployment Wizard for manual configurations.

It was launched with version 6.1.12-53 of the Tungsten suite of products. The product-specific release notes for this release can be found at

Bug Fixes (3)

TMI Configuration Wizard (2)

  • When configuring a cluster-extractor to apply into AWS Redshift, the s3.json configuration file would be named incorrectly.
    Issue: CT-1219
  • Deployment Wizard now correctly configures the tungsten.ini for the MongoDB Atlas applier.
    Issue: CT-1161

Operating System/3rd Party Packages (1)

  • Addresses OS security vulnerability identified by AWS.

Tungsten MI 4.0

Tungsten MI 4.0.0

Release Date: 17 Dec 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

This AMI release brings the Tungsten Replicator and Tungsten Clustering AMI's in line with the latest release of the core products, in addition new Cloudformation Templates were released to allow easier deployment of Tungsten Clustering.

Improvements, new features and functionality (1)

Installation and Deployment (1)

  • The MongoDB applier now supports replication into MongoDB Atlas.

Bug Fixes (1)

Operating System/3rd Party Packages (1)

  • Addresses OS security vulnerability identified by AWS.

Tungsten MI 3.0

Tungsten MI 3.0.0

Release Date: 20 Jul 2020
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

The v3.0 AMI release introduces two new AMI's for Tungsten Clustering

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Installation and Deployment (1)

  • Cloudformation support for Composite Active/Active and Composite Active/Passive clusters will only allow all clusters to be deployed within the same AWS region. This will be addressed in a future release.

Tungsten MI 2.0

Tungsten MI 2.0.0

Release Date: 11 Nov 2019
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

The v2.0 AMI release includes additional Targets and a more simplified deployment wizard.

Improvements, new features and functionality (4)

Behavior Changes (4)

  • Support added to allow easy configuration of extraction from, or replication into, an existing Tungsten Cluster.
  • Installation Wizard now makes it easier to enable additional properties, such as SSL and basic filtering.
  • Ships with v6.1.1 release of Tungsten Replicator.
  • Additional support added for the following Targets:
    • Oracle
    • Cassandra
    • Clickhouse
    • Elasticsearch
    • Hadoop
    • MongoDB

Tungsten MI 1.0

Tungsten MI 1.0.0

Release Date: 6 Jun 2019
End of Life Date: 15 Aug 2024
Product End of Life

This release is past End of Life.

The first release of the Tungsten AMI on the Amazon Marketplace is available and supports replication out of MySQL (Community Edition, Enterprise Edition, Percona, MariaDB, Amazon RDS/Aurora) into the following targets:
  • MySQL (Community Edition, Enterprise Edition, Percona, MariaDB, Amazon RDS/Aurora)
  • AWS Redshift
  • Vertica
  • PostgreSQL
  • Kafka

Known Issue (1)

The following issues are known within this release but not considered critical, nor impact operation. They will be addressed in a subsequent patch release.

Installation and Deployment (1)

  • Additional Targets will be supported in a future release.