dev-donghwan commented on PR #4437: URL: https://github.com/apache/flink-cdc/pull/4437#issuecomment-4935635684
Thanks @yuxiqian, that makes sense — emitting `REPLACE` (+U only) in upsert changelog mode, instead of an `UPDATE` event with a null `before`. Agreed this is the cleaner approach: `REPLACE` is already handled by the event serializer and all pipeline sinks (e.g. FLINK-39684 already covers it in the Paimon writer), so no sink needs to become null-tolerant, and the null-tolerant `DataChangeEventSerializer` changes in this PR would no longer be needed either. We implemented this and verified it with a real pipeline run on Docker (Flink 2.2.1, PostgreSQL 15 with `REPLICA IDENTITY DEFAULT`, pgoutput) — the UPDATE arrives at the sink as `op=REPLACE` carrying the after image only. @cansakiroglu I've opened a PR against your branch with this change as a single commit: https://github.com/cansakiroglu/flink-cdc/pull/1 — feel free to merge or cherry-pick it so it can be folded into this PR. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
