SynchDB 1.4 extends Oracle Container Database (CDB/PDB) support across the Debezium, oracle_fdw and OLR execution paths, adds TLS-secured connections for the MySQL and PostgreSQL connectors (with Oracle Wallet support for Oracle/OLR), and allows the Debezium runner's log level to be changed at runtime without a restart. This release also includes a round of stability fixes (JNI reference leaks, a double-free in the format converter, a symbol collision under IvorySQL) and broadens CI coverage to build and test against IvorySQL as the host platform.
Added
Oracle Container Database (CDB/PDB) Support
- The Debezium-based Oracle connector now accepts a
CDB/PDBformatted database name and automatically maps it to Debezium'sdatabase.dbnameanddatabase.pdb.nameproperties. - oracle_fdw based FDW snapshot path now supports Oracle Container Database architecture.
- Added dedicated CDB/PDB test coverage against Oracle 23ai (Free PDB1).
TLS / Secure Connections
- Added TLS connection support for FDW-based MySQL and PostgreSQL connectors via extra conninfo parameters.
- Oracle and OLR connectors now use Oracle Wallet for secure connections instead of standard TLS parameters.
Runtime-Adjustable Debezium Log Level
- The Debezium runner's log level can now be changed while a connector is running, without requiring a restart. (#106)
Changed
- Snapshot mode
neveris now restricted to the MySQL connector only. Other connectors that previously acceptednevershould useno_datainstead;schemasyncnow implements this uniformly under the hood. - Debezium was upgraded from 2.6.2.Final to 3.5.2.Final (a major version jump; 3.6.0.Final was tried first but reverted after discovering known bugs in that release), along with Kafka Connect (3.6.2 → 4.1.2), Jackson, and Log4j2.
- The data type translator now correctly captures and transfers
tsvectorvalues (previously synchronized as NULL). - CI build and test matrix extended to cover IvorySQL as the host platform, in addition to PostgreSQL.
Fixed
- Fixed the Auto Launcher, which previously only started connectors for the default
postgresdatabase due to a hardcoded connection. It now correctly enumerates every connectable, non-template database and spawns a per-database launcher, so connectors are auto-started regardless of which database SynchDB was installed in. (#71) - Fixed JNI local reference leaks in the Debezium bridge that could lead to crashes under sustained load.
- Fixed a double-free of
StringInfoDatain the format converter. (#252) - Fixed a symbol collision between SynchDB's bundled Oracle raw parser and IvorySQL's own built-in Oracle parser when the OLR connector's parser library is loaded under an IvorySQL host; the parser library is now loaded with
RTLD_LOCAL. synchdb_del_conninfo()now correctly clears a connector's leftover state data from shared memory.- Fixed a potential memory-handling issue in the replication agent and OLR client.
Known Issues and Additional Info
- mysql_fdw cannot currently be built or used under IvorySQL 5.x. The FDW-based snapshot path for MySQL is unavailable in that specific combination until upstream compatibility is resolved.
- FDW-based snapshot for SQL Server is still not supported.
- Because the FDW snapshot engine writes an offset file before the replication slot exists, this conflicts with the
validateLogPosition()check introduced in Debezium 3.x. This is currently worked around by settingoffset.mismatch.strategytotrust_slot, restoring the pre-3.x (e.g. 2.6) startup behavior as a temporary measure pending a more complete fix. See Issue #256.
Note: Pre-built packages will be added to this release shortly.