[
https://issues.apache.org/jira/browse/FLINK-40334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-40334:
-----------------------------------
Labels: pull-request-available (was: )
> Insert-only input should not be materialized under upsert-materialize FORCE
> ---------------------------------------------------------------------------
>
> Key: FLINK-40334
> URL: https://issues.apache.org/jira/browse/FLINK-40334
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Planner
> Affects Versions: 2.3.0
> Reporter: Gustavo de Morais
> Priority: Major
> Labels: pull-request-available
>
> FLINK-38928 removed the guard in CommonExecSink that skipped the sink upsert
> materializer for insert-only input: final boolean needMaterialization =
> !inputInsertOnly && upsertMaterialize;
> DO ERROR and DO NOTHING need the operator on insert-only input, but
> DEDUPLICATE does not. With table.exec.sink.upsert-materialize=FORCE, an
> append-only query into a sink with a primary key now gets a
> SinkUpsertMaterializer and a keyed shuffle it did not have before. The same
> applies to compiled plans that persist requireUpsertMaterialize=true, where
> the planner is not consulted on restore.
> To undo this, we'd need to Rrstore the guard and keep the operator only when
> the conflict strategy is ERROR or NOTHING.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)