[ https://issues.apache.org/jira/browse/FLINK-24054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17407237#comment-17407237 ]
Arvid Heise commented on FLINK-24054: ------------------------------------- If the external system strictly follows +I key +I key, you will get a primary key violation. This would be the case if CDC is used to update a database. Having +I key +U key is correct and wouldn't require workarounds downstream. However, for kafka eliminating superfluous tombstones records is most important (e.g. what BufferedSinkFunction/ReducingSinkWriter is doing). So I'm fine to solve this issue later. But it must be documented for now. > Let SinkUpsertMaterializer emit +U instead of only +I > ----------------------------------------------------- > > Key: FLINK-24054 > URL: https://issues.apache.org/jira/browse/FLINK-24054 > Project: Flink > Issue Type: Bug > Components: Table SQL / Runtime > Reporter: Timo Walther > Assignee: Timo Walther > Priority: Blocker > Fix For: 1.14.0 > > > Currently, {{SinkUpsertMaterializer}} is not able to emit +U's but will > always emit +I's. Thus, resulting changelogs are incorrect strictly speaking > and only valid when treating +U and +I as similar changes in downstream > operators. -- This message was sent by Atlassian Jira (v8.3.4#803005)