[
https://issues.apache.org/jira/browse/FLINK-40571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18113941#comment-18113941
]
Purushottam Sinha commented on FLINK-40571:
-------------------------------------------
[~panyuepeng] [~pedromazala]
This is one of the flakiness like in
[https://github.com/apache/flink/pull/29117] as well with relatively higher
frequency.
Dues to multiple fakiness in the same class all of a sudden, I believe its more
of some structural issue. I believe [~snuyanzin] made the fix for the same.
Worth discussing before making multiple fixes.
> ProcessTableFunctionSemanticTests[process-stateful-multi-input-with-timeout]
> is flaky on master
> -----------------------------------------------------------------------------------------------
>
> Key: FLINK-40571
> URL: https://issues.apache.org/jira/browse/FLINK-40571
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Planner
> Affects Versions: 2.4.0
> Reporter: Purushottam Sinha
> Assignee: Pedro Mázala
> Priority: Major
> Labels: test-stability
>
> h3. Problem
> {{ProcessTableFunctionSemanticTests}} is flaky on master for the
> {{process-stateful-multi-input-with-timeout}} program. It runs the two-input
> {{TimedJoinFunction}} with {{on_time => DESCRIPTOR(ts)}} but no {{ORDER BY}},
> and asserts an exact append changelog. Per the {{ProcessTableFunction}}
> contract, {{on_time}} "does NOT affect the processing order of rows", so the
> two inputs may reach {{eval()}} in any interleaving. The pinned expectation
> only matches the common interleaving.
> h3. Evidence
> * master run
> [https://github.com/apache/flink/actions/runs/34019180875/job/101449611519]
> (module: table, commit {{ca6e927}}) — {{runSteps(TableTestProgram)[63]}}
> {{[process-stateful-multi-input-with-timeout]}}.
> * Failing assertion:
> {noformat}
> missing: +I[Bob, Bob, 1 score in city London, ...T00:00:00Z],
> +I[Bob, Bob, 2 score in city London, ...00.002Z],
> +I[Bob, Bob, 3 score in city London, ...00.003Z]
> extra: +I[Bob, Bob, 3 score in city London, ...T00:00:00Z]
> {noformat}
> * Root cause: when {{city@0}} is processed after
> {{score1@0/score2@2/score3@3}}, the single-value {{score}} state keeps only
> score 3; the join then emits at the city row's timestamp ({{@0}}). Scores 1/2
> are lost. This is a valid outcome for that (unordered) interleaving.
> h3. Notes
> * Sibling of FLINK-40568, but the fix there (assert materialized data) does
> NOT apply here: the output is append-only with no convergent view, so
> materializing changes nothing.
> * Fixing this needs a redesign so the assertion no longer depends on
> cross-input arrival order (e.g., assert only the order-independent timeout
> path, or restructure the data). Best decided by a PTF-test owner.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)