oracledb_cdc: support cache resources for internal transaction buffer#4409
oracledb_cdc: support cache resources for internal transaction buffer#4409josephwoodward wants to merge 18 commits into
Conversation
|
Commits Review
|
|
Hi @josephwoodward — a few concerns worth surfacing on this change, ordered by severity. P0 — Correctness
|
f091a40 to
ea02135
Compare
|
Commits Review
|
ea02135 to
abbfa8c
Compare
|
Commits
Review
|
|
Commits
Review
|
|
Commits
Review LogMiner's transaction buffer can now be backed by a Connect cache resource, which is a sensible addition. The serialization envelope covers all the types the SQL-redo parser actually emits ( Two issues worth addressing before merge:
|
|
Commits
Review
|
|
Commits
Review The change extends the LogMiner transaction buffer to use a configurable
|
|
Commits
The remaining 8 commits look like incremental fix-up commits on top of the original change (e.g. Review The new LGTM |
|
Commits
Review LGTM |
|
Commits
Review The change adds a LGTM |
1690032 to
aec1e77
Compare
|
Commits
Review LGTM |
|
Commits
Review The new LGTM |
Currently OracleDB CDC buffers transactions via an internal, in-memory cache. It does this because it has to wait to see if the transaction rows are committed or rolled back before it can decide how to process them.
This change adds new behaviour, expanding the support of this internal buffer to be configurable via Connect's various cache resources, reducing memory footprint and improving the overall reliability of the connector when working with workflows featuring long-running transactions.
Performance:
Below graphs show streaming 5,000,000 records (see screenshot for different cache types):