Oracle LogMiner Agent Changelog
Release notes
2.2.11.10
Released: October 1, 2026
-
GSSD-1245: An incomplete row image is re-read while the COMMIT is processed, instead of as soon as its DML is mined, which replicated a sparse UPDATE with the values it replaced or dropped it as "Row not found";
-
GSSD-1245: A row whose ROWID cannot find it is read by its primary key, so replaying changes older than a TRUNCATE, an ALTER TABLE MOVE or a SHRINK SPACE no longer leaves the reader stuck on ORA-01410;
-
LOB columns are now replicated, so an UPDATE of another column no longer nulls the LOB on the target, an out-of-row INSERT no longer lands as the literal EMPTY_CLOB(), and a change made through the locator is captured, in a PDB too;
-
An entity with no stored position resumes from the database’s current position, instead of falling back to a reader checkpoint that can sit hours behind and replaying those hours on top of the snapshot;
-
The rewind after a lost change cache is armed once instead of at every reader start, so a stop and start no longer replays everything back to the oldest entity position;
2.2.11.9
Released: September 29, 2026
-
GSSD-1374: Added support for "Enable TLS" and the trust store and key store of the connection, so reaching Oracle over TLS no longer requires a wallet;
-
GSSD-1374: Added a LogMiner instance name so the mining connections go through the wallet too, instead of opening in clear text and being refused by a TCPS-only listener;
2.2.11.8
Released: September 28, 2026
-
Arena batches are handed over in the order they were written instead of being re-sorted by transaction id, which on Oracle LogMiner inverted two changes sharing an SCN and wrote the older value to the target;
2.2.11.6
Released: September 24, 2026
-
Booleans and maps keep their type through the arena cache, instead of reaching the target as "true"/"false" and as a non-JSON string;
-
A failing step of the reader stop no longer skips the rest of it, which left the loop running and turned every later stop into a no-op;
2.2.11.4
Released: September 21, 2026
-
Added the source lag probe, reporting the unread change backlog and how far behind the last read transaction is;
-
GSSD-1357: The two unchecked arena length fields are now bounded, so a damaged arena is reported as a corrupted record instead of surfacing as a NumberFormatException or advancing the recovery scan into garbage;
-
GSSD-1357: An arena is no longer mapped at a size the filesystem refused to give it, which on a full disk wrote into a sparse region with no blocks behind it;
2.2.11.2
Released: September 14, 2026
-
ArenaCache now splits across multiple files, one per entity instead of a single shared file. See Source agent caching layer;
-
Optimized regex usage on the CDC hot path;
2.2.11.1
Released: September 11, 2026
-
GSSD-1245: Fixed a CDC restart rewinding to the position of an idle table, which could cause a reported data gap;
2.2.10.14
Released: August 28, 2026
-
GSSD-1306: Fixed log window rotation can cause data loss;
-
GSSD-1245: Fixed commit check;
2.2.10.13
Released: August 21, 2026
-
Target character columns: a value longer than its target column is now refused instead of being stored truncated with the transaction reported as written. Affects the IBM i series, Informix, MS SQL Server and Oracle targets, on the direct and the bulk write path alike (GSSD-1292, GSSD-1267);
-
Oracle target: a source value wider than its target column now fails the write even when the excess is only the padding of a fixed-length source; apply a TrimString field function on the target column to shorten a value on purpose;
-
MS SQL Server and Oracle targets: a failed insert batch is retried as an upsert only when the target already holds the row, so a rejection from the server is no longer turned into a truncation;
-
Oracle LogMiner: redo ages are now measured against the database clock instead of the agent host one, so on a database that is not on UTC transactions are no longer abandoned before their deadline and cached changes no longer expire early (GSSD-1245);
2.2.10.12
Released: August 18, 2026
-
GSSD-1144: LogMiner no longer discards redo over a log file list registered by another connection, dropping the stale registrations and retrying the session start once instead;
-
GSSD-1144: a LogMiner session failure now reports the actual Oracle error code instead of the list of candidate ones;
-
GSSD-1144: corrected the warning logged for a DELETE with no undo image, now naming the table and the supplemental logging remedy;
-
GSSD-1144: a DELETE with no usable before-image now dumps its raw payload at error level, with the per-table occurrence count;
2.2.10.9
Released: August 11, 2026
-
GSSD-1245: Fixed pending changes being silently skipped and acknowledged when LogMiner emits records out of order, causing missing rows on the target and entities stuck reporting no changes to sync;
2.2.10.7
Released: August 5, 2026
-
Avoid blocking low watermark when pending uncommitted transactions are holding it back;
2.2.10
Released: July 27, 2026
-
GSSD-1144: Improve Arena Cache corruption barrier to improve restart with corrupted cache file;
-
GSSD-1144: Fixed localised dates parsing;
-
GSSD-1144: Fixed Arena Cache transaction management when primary keys modified;
2.2.9.10
Released: July 17, 2026
-
GSSD-1160: Fixed escape single quotes in Oracle staging table column names;
2.2.9.9
Released: July 16, 2026
-
GSSD-1144: Fixed date parsing;
-
GSSD-1144: Fixed retrieve of current SCN when checkpoint not exist consuming too much DB CPU;
-
GSSD-1138: Fixed transaction Id comparison logic;
2.2.9.8
Released: July 14, 2026
-
GSSD-1138: Fixed wrong start checkpoint of LogMiner reader after a snapshot;
2.2.9.7
Released: July 10, 2026
-
GSSD-1144: Fixed infinite loop on parse failures with online logs;
-
Removed active transaction checkpoint block;
2.2.9.4
Released: July 7, 2026
-
Fixed issue with JDBC that writes empty string as NULL value;
-
GSSD-1138: Fixed ROWID technical field column emitted by the source even if not selected;
-
GSSD-1144: Added error ORA-00310 handling;
2.2.9.2
Released: July 2, 2026
-
GSSD-1138: Fixed wrong description for source change retention causing ambiguity and loss of data when an entity is paused;
2.2.8.8
Released: June 16, 2026
-
GSSD-1049: Added LogMiner start error handling restarting session;
-
Fixed DECIMAL parsing;
2.2.8.7
Released: June 15, 2026
-
GSSD-1056: Added new date formats parsing support;
-
Enhanced discovery of logging type (both at db level and table level);
2.2.8.0
Released: June 4, 2026
-
GSSD-1032: Improved a specific code path that was rising unecessary ERRORs for transactions that were supposed to be discarded instead;
2.2.7.6
Released: June 3, 2026
-
Added logic to recreate staging table for bulk operations to keep it aligned with entity schema;
-
GSSD-1004: Improved handling of ORA-00308 error;
2.2.7.5
Released: June 1, 2026
-
Replaced Chronicle Queue in-flight transaction spill store with a custom off-heap memory-mapped file implementation (
OffHeapMmf) modelled after the oracdc project. Each uncommitted transaction is persisted to a dedicated per-XID mmap file; full rollback is now O(1) (file close + delete). No more per-row Chronicle appender churn or 80 MB pre-allocated roll-cycle files. -
Committed transaction cache for the Oracle LogMiner source now backed by
InMemoryDatabaseCacheImpl, eliminating Chronicle Queue I/O and file locking on the committed side. -
Added socket-level read timeout on the LogMiner JDBC connection (
logminerReadTimeout, default60000ms). PreventsexecuteQuery()from blocking indefinitely when Oracle becomes unreachable. -
Added
Connection.isValid()probe before each LogMiner polling window to detect zombie connections before they stall a query. -
In-place recovery on Oracle host restart or
ORA-17800: worker drops orphaned in-flight transaction state, reconnects, and resumes from the persisted SCN checkpoint — no software restart required. -
Fixed self-cancellation bug in the error-recovery path:
safeRestartServicewas cancelling its own coroutine scope from within the loop, loggingJob was cancelledand leaving the worker permanently dead. -
Fixed
FileNotFoundExceptionafter in-place recovery:cleanupAll()was deleting the spill root directory which was only created once viaby lazy. -
GSSD-990: Added support for trimming trailing spaces for text columns;
2.2.6.9
Released: May 22, 2026
-
GSSD-972: Fixed incorrect equals and compareTo logic causing a false positive when comparing transaction IDs, leading Gluesync to perform unwanted and unnecessary reads from the cache.
2.2.6.8
Released: May 21, 2026
-
GSSD-972: fixed Oracle data types migration;
-
GSSD-966: fixed Oracle LogMiner reader blocked by missing commit operation;
2.2.6.6
Released: May 18, 2026
-
Fixed Oracle number data type wrong management;
-
GSSD-862: Improved Oracle CDC transaction id comparison and added logging;
2.2.6.4
Released: May 8, 2026
-
Improved Oracle LogMiner reliability to avoid losing transactions in edge cases.
-
Added DLQ handling for SQL parse errors (LOGMNR_PARSE_DLQ) with configurable behavior (skipTransactionsWithParseErrors).
-
Improved checkpoint + transaction ordering logic to prevent replay loops / stuck progress scenarios.
-
Added spill-to-disk buffering for very large transactions to reduce memory pressure and improve stability.
-
Improved handling of CSF/fragmented SQL rows and log fast-forward/read behavior.
-
Added stronger regression test coverage (including full LogMiner dump replay) for safer releases.
2.2.6.0
Released: April 29, 2026
-
Improved support for enhaced columns discovery (precision, lenght, scale);
2.2.5.3
Released: April 23, 2026
-
Fixed possible duplicate key error using bulk operations for target agent.
2.2.5.0
Released: April 15, 2026
-
Snapshot performance enhancements;
-
Palallel redo logs processing;
-
Fixes and enhacements;
-
Fixed wrong transaction sorting;
2.2.3.2
Released: March 31, 2026
-
GSSD-781: Fixed transaction logs sort problem and improved error notifications;
2.2.3.0
Released: March 27, 2026
-
Database pooling technology;
-
GSSD-760: Fixes to Batch Update errors and Type modifier is not allowed for type 'text';
-
GSSD-717: Fixed issue with white spaces truncation in VARCHAR primary key columns;