Connect

 View Only

Connect CDC Join Tables and why they don’t trigger replication

  • 1.  Connect CDC Join Tables and why they don’t trigger replication

    Employee
    Posted 3 hours ago
    While working with Join Tables in Connect CDC, one thing confused me at first. Updates in a join table don’t trigger replication.
    It feels counterintuitive. If a join table is enriching your data, it seems like its changes should flow downstream too. But that’s not how CDC works.

    How CDC actually works
    CDC is event-driven, not relationship-driven.
    It tracks changes on one table only - the source or trigger table.
    Join tables are not part of capture. They are only used later in the flow.
    The internal flow looks like this:
    • Capture listens only to source table changes
    • Data is queued
    • Join logic runs during prepare or apply
    By the time joins are evaluated, the capture step is already done. So join tables are never in a position to trigger replication.
    What this means in practice
    If your join table changes:
    • No replication is triggered
    • No updates are sent downstream
    • Nothing happens until the source table changes again
    A simple example:
    • Employee is the source table
    • Address is used as a join table
    If Employee updates, data flows with enriched values.
    If Address updates, nothing moves.
    Why it is designed this way
    This design keeps CDC predictable and scalable.
    If join tables triggered replication:
    • A single lookup change could fan out to thousands or millions of rows
    • There would be no clear transaction boundary
    • Consistency would become hard to guarantee
    So CDC keeps it simple. Replication is always tied to source table events.
    The hidden impact
    This creates a subtle issue.
    If your join table changes frequently, your target data can become stale without it being obvious. The enrichment looks correct, but it may not reflect the latest lookup values.
    What changed for me
    I stopped thinking of CDC as moving “connected data.”
    It actually moves events. The joins just decorate those events at the time they are processed.
    Takeaway
    Join Tables are powerful for enrichment, but they are not drivers of replication.
    Once I understood that, it became much easier to explain stale data scenarios and design around them.

    Have you run into cases where lookup or reference data changed but the target didn’t update?


    ------------------------------
    Adhitya Maya
    *Precisely Software Inc.
    ------------------------------