rionmonster commented on code in PR #29570:
URL: https://github.com/apache/flink/pull/29570#discussion_r4406002181
##########
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/nodes/exec/common/JoinTestPrograms.java:
##########
@@ -565,6 +566,57 @@ public class JoinTestPrograms {
+ "FROM orders o JOIN lines l "
+ "ON o.order_id = l.order_id AND
l.status <> o.excluded_status")
.build();
+
+ // the line of order 1 is updated without UPDATE_BEFORE and deleted by
key, the full image
+ // of the deleted line is only in the restored state; order 2 stops
matching its line
+ SEMI_JOIN_UPSERT_INPUTS_NON_EQUI =
Review Comment:
Sure. Introduced a new `SEMI_JOIN_UPSERT_INPUTS_NON_EQUI_PRE_2_4` case with
the same data. Its plan and savepoint come from the code that predates
FLINK-40841, so the plan has no changelog modes. After the restore, it updates
a restored line and a restored order without `UPDATE_BEFORE`, then deletes a
line by key. Without the semi/anti upsert handling, it fails like the existing
program does.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]