-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Debezium heartbeat not identified correctly #41647
Comments
This is the format of heartbeats we parse successfully:
value taken from SourceRecord/sourceOffset/lsn |
The cause of difference in format is not clear as a newer postgres 15 on test environment is sending the old format of heartbeats, |
I think I understand what goes on here:
By looking the the contents of the message we see
I verified on the debezium code there was no change in heartbeat structure. |
What we should do is:
|
The fix is effective with the workspace we've been tracking this issue on. |
Connector Name
source-postgres
Connector Version
3.4.24
What step the error happened?
None
Relevant information
This was found in relation to #41622.
The way we identify debezium heartbeat messages and omit them from getting processed as change events is broken.
We essentially identify as a heartbeat incoming debezium events which contain no
source
node.The internal format of heartbeats may have changed and after applying the fix in #41622 on an affected workspace, the added logs show a heartbeat packet which we attempt to process as a change event. causing an error/
See example
Relevant log output
Note a
source
exists.The value of
content
is base64 encoded "cdc heartbeat".The correct way to deal with it is probably filtering out
"op": "m"
events, signifying a debezium message event, as opposed to a change event.Contribute
The text was updated successfully, but these errors were encountered: