Handling Transactions (Begin/Commit CDC Events)
For WAEvent originating from OLTP sources: if Filter Source Transaction Boundary is enabled at the source, the target will not receive any control events.
Distribution
When a single topic is used, all events, including Begin/Commit events, are sent to partition 0 if no partition key is specified.
If incoming events are distributed using metadata or user data keys, Begin/Commit events cannot be distributed if they do not have the configured keys --- they will be discarded.
Primary Key partitioning: Begin/Commit events do not have table-level or primary key information and will be discarded.
Schema Tracking
If the Avro Formatter is used, a separate schema for control events is created and registered under the subject name: <subject-name>_ControlRecord.
Message Structure for Begin/Commit Events
Header: custom header added if required metadata/userdata is present; otherwise empty.
Key (Custom): operation type or table name is set as the message key if present in user data or metadata.
Key (PrimaryKey): control events do not have table-level information, so the message key will be empty.
In formatAs: Table mode, control events are skipped.
Sample Messages
Begin event (raw WAEvent):
{
"pos": null,
"_id": null,
"timeStamp": 1753773949048,
"originTimeStamp": 1753773949048,
"key": null,
"data": ["waction", "BEGIN"],
"metadata": {
"BinlogFile": "ON.000039",
"TxnID": "1:000039:2533:1753773949000",
"OperationName": "BEGIN",
"TimeStamp": 1753773949000,
"BinlogPosition": 2533
}
}Begin/Commit event --- FormatAs: Default:
{
"metadata": {
"BinlogFile": "ON.000039",
"TxnID": "1:000039:2897:1753774226000",
"OperationName": "BEGIN",
"TimeStamp": "2025-07-29T00:30:26.000-07:00",
"BinlogPosition": "2897"
},
"data": {"0": "waction", "1": "BEGIN"},
"before": null,
"userdata": null
}