Version End of Life. Not Yet Set
Release 7.0.2 contains a number of key bug fixes and improvements.
The following changes have been made to Tungsten Replicator and 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:
The various user-xxxx.log files are no longer generated
The check_tungsten.sh was deprecated in release 6.1.18 and has now been removed from this release.
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.
repl_svc_extractor_multi_frag_service_detectionis 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.
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.
Improvements, new features and functionality
-c option is now available with some trepctl commands that can be used in conjunction
-r option to indicate the number of times to refresh before automatically terminating.
For example, the following command:
trepctl perf -r 3 -c 10
Will refresh the output every 3 seconds, 10 times.
The trepctl status 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 :
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)
trepctl statusProcessing status command... NAME VALUE ---- ----- appliedLastEventId : mysql-bin.000017:0000000151329854;70 appliedLastSeqno : 999 appliedLatency : 347707.0 ... lastKnownAppliedLatency: 347707.0 lastKnownAppliedSeqno : 999 ...
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.
The tpm command calls to
glob have been improved to be more strict and compliant.
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).
The tpm ask command has five new variables available:
dsstate for the current datasource,
trstate for the current replicator, and
nodeinfo which displays all 4 of the new variables.
The tpm report command now prints the hostname and listener ports where available when using the
--extra|-x option or the new
dsctl option has been added to the thl command, and a new
-event option added to thl list
Full details and examples of these new options can be found here
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
Update of thl directory is only available when tpm is called from the staging installation directory, NOT from the running directory.
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
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:
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.
ddlscan, dsctl and tungsten_send_diag are now added to the
Fixes issues where fixed properties and filters passed to tpm in service stanzas were not being configured correctly
No longer using Tanuki wrapper functionality to print jvm version, which was creating defunct java processes at startup, now using internal code.
Running tpm update on a standalone Replicator deployment no longer prints an uninitialized value error.
Fixes an issue that prevented ddlscan from connecting to MySQL if SSL was enabled.
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.
The tpm command now allows any case for section entries (i.e. [alpha_FROM_beta]) in the INI files.
The tpm diag command now passes when the nodename defined in the
tungsten.ini is the shortname, and DNS returns the FQDN.
The tpm diag command now gathers the
mysql.log file when SSL is enabled in the server.
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
Fixes an issue that prevented dsctl from connecting to MySQL if SSL was enabled.
The tpm mysql command will now gracefully handle being run on a non-database node.
The tpm mysql command no longer aborts with an access denied error on CentOS 6.
Both TungstenAPI and tpasswd now properly update .passwords.store.orig backup file so that proper manipulation of passwords won't trigger tpm update failure
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.
Fixes an issue that prevented geometry datatypes with SRID from being replicated.
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.
Fixed a parsing issue that would prevent the replicator from correctly
CREATE TABLE statement with
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).