[
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)