Tungsten Replicator 7.0.1
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_orphanedcommand now places the log file in$CONTINUENT_ROOT/service_logs/, not/tmp/Issue: CT-1866 - The
tmonitorcommand now calls sudo internally as needed, removing the need for thetmonitorcommand to be run with sudo for the install and remove sub-commands.Issue: CT-1846 - The
tpm ask summarycommand is now sorted by key when the PerlTie::IxHashmodule is installed.Issue: CT-1820 - The
tpm diagcommand now gathers the output of thetpm ask summarycommandIssue: CT-1827
Core Replicator (1)
- The default value for the tpm property
svc-fail-on-zero-row-updatehas been changed fromwarntostopWarningThis 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
warnto 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
defunctprocess 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
tapicommand 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 -verboseand connector command outputsIssue: CT-1813 - The
tapicommand now auto-detects the protocol, either http or httpsIssue: CT-1803 - The
tapicommand now supports the creation and modification of multiple APIv2 admin users. Two new cli args have been added:--create-userand--create-pass.Issue: CT-1801 - A new
tpm reportsub-command has been added. By default,tpm reportwill generate a security report for all available communication channels on a per-node basis. The purpose oftpm reportis 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>NoteThe service must be offline before changing the propertyIssue: CT-1088
Core Replicator (1)
- The
thl listcommand 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 propertiesIssue: 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/rmiSecurityIssue: 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)
tpmwould fail on keystores containing special characters in alias names.Issue: CT-1852- The
tpm updatecommand now properly handles v7 -> v7 upgrades.Issue: CT-1815 deployallscript 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 binariesIssue: CT-1835
Command-line Tools (10)
undeployallscript would not properly uninstallsystemdservices on some distributions including amazon linux.Issue: CT-1845replicator start offlinewould not properly pass the offline argument tosystemdscripts when installed throughdeployall.Issue: CT-1836- The
tapicommand now auto-switches protocol (http or https) properly.Issue: CT-1829 TPM would fail to validate data sources when using
ssl-capath [directory]rather thanssl-ca [file]inmy.cnf.This fixes only the validation part, automated truststore creation by TPM will not be possible at this point, a full
tungsten-truststore.tswill have to be passed throughjava-truststore-pathIssue: CT-1826- The
tpm updatecommand now properly determines services to be deleted.Issue: CT-1825 - Fixed an `Undefined subroutine` call error in
tapi --createIssue: 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 commandIssue: CT-1653
tpmnow properly reports errors upon timeout executing commands. Typically, when a host is down, when upgrading or installing,tpmwill now properly report that pinging this host failed.Issue: CT-1819- Improves the
tpm diagcommand so that it waits 2 seconds for replicator thread dump to complete.Issue: CT-1792 - The
tpm updatecommand no longer aborts during a staging deployment when the actual hostname does not match what is configured for the node names intpmIssue: CT-1791
Backup and Restore (1)
- Fixed an issue with latest xtrabackup 8.0.28Issue: CT-1838
Core Replicator (5)
- Fixed a
NullPointerExceptionthat 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 updatewould fail with message"The host is configured to be '' but it is currently operating as a 'master'"when a dynamic replicator configuration file is foundIssue: 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=3600property=replicator.filter.pkey.reconnectTimeout=3600Issue: 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
RedshiftCopyOptionsoption was omitted from the s3-config.json file, the replicator would fail to start with anundefinederror.Issue: CT-1814