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.