Version End of Life. Not Yet Set
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.
The following changes have been made to Tungsten Cluster 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:
tungsten_provision_slave has now been renamed to tprovision
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.
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.rbmodule 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
In this release, the backups will now create the backup and then manually compress it
This change will increase the required disk space for backups to allow the post-backup compression to complete.
The following issues are known within this release but not considered critical, nor impact the operation of Tungsten Cluster. They will be addressed in a subsequent patch release.
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.
As a result of this known issue, the tungsten_reset_manager command will also have issues on composite clusters because it calls tpm policy.
The options are used for setting the API admin user credentials and are as follows:
Issues: CT-1276, CT-1433
Issues: CT-210, CT-327, CT-1275
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).
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.
--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.
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 the tpm generate-haproxy-for-api command. The tungsten_generate_haproxy_for_api script remains as a shell wrapper for tpm generate-haproxy-for-api.
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.
The tpm command suite now properly supports the
--profile argument to specify a Tungsten json configuration
file in place of the installed
trepctl -serviceEvent 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)
It is now possible to compress and/or encrypt THL on disk. For more information on using these features see https://docs.continuent.com/tungsten-clustering-7.0/thl-compress-encrypt.html
For full details on enabling this feature, refer to this page
For more details and steps to enable, see https://docs.continuent.com/tungsten-clustering-7.0/connector-advanced-audit-logging.html
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
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
For full details on this feature, and configuring it, see [link to be added]
opt-timeout parameter (seconds) can be specified to limit the wait before stopping the connector. Not passing this parameter implies infinite wait.
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.
For example, if the OS user is tungsten and the installation directory is
/opt/continuent, containing the
/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
When running the cluster_backup in a Active/Active environment, when setting
to 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.
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;
ROWbased replication. An alternative workaround to ensure correct rollback on failure, would be to run the statement with
STATEMENTbased replication for the session. This will also provide better performance for larger tables.
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.
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
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
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 to
It is still possible to get the previous behavior (reconnecting transparently connections cross-site) by specifying both
--connector-allow-cross-site-reconnects-for-reads=true, at your own risk
This setting can be over-ridden by using the following tpm property
VALUE set to autodetect, this value will mirror the MySQL
connect_timeout system variable. Set to 0 for infinite timeout.
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