Skip to content

Fix for table upsert mode for Flink 1.12 actually works, the problem is flink itself #6084

@kingwind94

Description

@kingwind94

Apache Iceberg version

0.13.1

Query engine

Flink

Please describe the bug 🐞

According to #4519, the fix for the issue did not resolve the issue in Flink 1.12: #4418. So an error message about correctness issue is logged and nothing fixed.

But acutually, the TestFlinkUpsert test cases not passed is actually because in flink 1.12 the "Insert into table values ... " has a correctness issue for parallelism greater than 1. There is a NotNullEnforcer operator between the insert values source and iceberg sink, and the operator is with parallelism equal to the job parallelism, what is more, the data is transfer in REBALANCE strategy from the source to NotNullEnforcer operator, which corrupts the data order.

So if you change the job parallelism to 1, the test cases should be all passed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions