This is an automated email from the ASF dual-hosted git repository.
MartijnVisser pushed a commit to branch release-2.2
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/release-2.2 by this push:
new d595c863ec9 [FLINK-40568][tests] Fix flaky
ProcessTableFunctionSemanticTests by using materialized data assertion
d595c863ec9 is described below
commit d595c863ec93f94b2a3a9aa3faa6b246dd80f679
Author: Purushottam Sinha <[email protected]>
AuthorDate: Sun Sep 6 13:21:14 2026 +0530
[FLINK-40568][tests] Fix flaky ProcessTableFunctionSemanticTests by using
materialized data assertion
The process-updating-multi-input program runs the two-input updating PTF
join UpdatingJoinFunction and asserted the sink's raw changelog. A two-input
operator interleaves its two inputs nondeterministically, so the emitted
changelog is not fixed and the pinned expectation failed intermittently in
CI.
Assert the materialized upsert result via
SinkTestStep#testMaterializedData()
instead, which converges regardless of cross-input arrival order. This
mirrors
FLINK-39729 and the multi-input join test programs.
Generated-by: Claude Code (claude-opus-4-8)
(cherry picked from commit 9385e25e2da54634d8847e9b4ca2dcaa29be4f3f)
---
.../nodes/exec/stream/ProcessTableFunctionTestPrograms.java | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git
a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/nodes/exec/stream/ProcessTableFunctionTestPrograms.java
b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/nodes/exec/stream/ProcessTableFunctionTestPrograms.java
index 9fadeb81d94..728a25e8e88 100644
---
a/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/nodes/exec/stream/ProcessTableFunctionTestPrograms.java
+++
b/flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/nodes/exec/stream/ProcessTableFunctionTestPrograms.java
@@ -1485,14 +1485,8 @@ public class ProcessTableFunctionTestPrograms {
"`out` STRING")
.addOption("sink-changelog-mode-enforced",
"I,UA,D")
.addOption("sink.supports-delete-by-key",
"true")
- .consumedValues(
- "+I[Bob, score 5 in city London]",
- "+I[Alice, score 2 in city
Zurich]",
- "+U[Bob, score 3 in city London]",
- "+U[Bob, score 3 in city Berlin]",
- "-D[Bob, null]",
- "+I[Bob, score 2 in city Berlin]",
- "-D[Alice, null]")
+ .consumedValues("+I[Bob, score 2 in city
Berlin]")
+ .testMaterializedData()
.build())
.runSql(
"INSERT INTO sink SELECT `name`, `out` FROM f("