Hi folks. I am currently trying to setup CDC pipel...
# troubleshooting
z
Hi folks. I am currently trying to setup CDC pipeline, from MongoDB (using Debezium) to Flink to JDBC sink table in Postgres. I am able to see inserts and updates being processed successfully in the downstream Postgres table, however delete handling is not working correctly. I have tried changing the 'drop.tombstones' property to 'false' and changing the 'delete.handling.mode' to 'rewrite', 'none', and 'drop', none of which seems to fix the problem. I have also tried using both 'kafka' and 'upsert-kafka' for the source kafka table definition in Flink. I have read some blog posts on this topic but unfortunately most of the examples I've seen with debezium are using a source db like MySQL instead of a document database such as MongoDB.
r
@Gunnar Morling Any thoughts here?
πŸ‘€ 1
z
I found the
Debezium Unwrap MongoDB SMT Demo
in the debezium-examples GitHub repo. This is more or less what I am trying to achieve except with another Flink kafka table as an intermediary. On my original debezium kafka connector, I added the
unwrap
transformation so that the messages generated in the kafka topic can be queried in Flink without being deeply nested. Not sure if that is causing the problem?
The desired goal is to load the data from kafka into Snowflake, however since I don't have the necessary permissions to ingest into Snowflake right now, trying to use JDBC sink as a placeholder.
I think I understand why "debezium' format in Flink doesn't play nicely with MongoDB sources. Since the schema isn't guaranteed, the document payload cannot be encoded in JSON. The schema would potentially be different from one message to another. Going to look the Ververica Flink CDC connector for MongoDB.