[ 
https://issues.apache.org/jira/browse/FLINK-40568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Purushottam Sinha updated FLINK-40568:
--------------------------------------
    Description: 
h3. Problem

{{ProcessTableFunctionSemanticTests}} is flaky on master for the 
{{process-updating-multi-input}} program. It runs the two-input updating PTF 
join {{UpdatingJoinFunction}} and asserts the sink's raw changelog with 
{{{}containsExactlyInAnyOrder{}}}, but a two-input operator has no 
deterministic cross-input arrival order, so the emitted changelog varies. The 
test pins one interleaving, so an alternate order fails the assertion.
h3. Evidence
 * master run 
[https://github.com/apache/flink/actions/runs/33989974423/job/101371696744] — 
{{runSteps(TableTestProgram)[64]}} {{{}[process-updating-multi-input]{}}}, 
{{{}Tests run: 11458, Failures: 1{}}}.
 * Failing assertion (job is awaited, so this is the complete output, not a 
truncation):
{noformat}
Expecting actual:
  ["+I[Bob, score 2 in city London]", "+U[Bob, score 2 in city Berlin]"]
to contain exactly in any order:
  ["+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]"]
{noformat}

 * The failing run's head SHA is current master ({{{}c51e71536ed{}}}); the same 
commit passed 51/51 local runs (JDK 17), so this is a flake, not a regression 
at this commit.

h3. Notes
 * The final upsert-materialized result converges across interleavings; only 
the raw changelog differs. A fix could assert the materialized result instead 
of the raw changelog for this program, or otherwise make the expectation 
interleave-independent.

  was:
h3. Problem
{{ProcessTableFunctionSemanticTests}} is flaky on master for the 
{{process-updating-multi-input}} program. It runs the two-input updating PTF 
join {{UpdatingJoinFunction}} and asserts the sink's raw changelog with 
{{containsExactlyInAnyOrder}}, but a two-input operator has no deterministic 
cross-input arrival order, so the emitted changelog varies. The test pins one 
interleaving, so an alternate order fails the assertion.

h3. Evidence
* master run [https://github.com/apache/flink/actions/runs/33989974423] 
(module: table) — {{runSteps(TableTestProgram)[64]}} 
{{[process-updating-multi-input]}}, {{Tests run: 11458, Failures: 1}}.
* Failing assertion (job is awaited, so this is the complete output, not a 
truncation):
{noformat}
Expecting actual:
  ["+I[Bob, score 2 in city London]", "+U[Bob, score 2 in city Berlin]"]
to contain exactly in any order:
  ["+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]"]
{noformat}
* The failing run's head SHA is current master ({{c51e71536ed}}); the same 
commit passed 51/51 local runs (JDK 17), so this is a flake, not a regression 
at this commit.

h3. Notes
* The final upsert-materialized result converges across interleavings; only the 
raw changelog differs. A fix could assert the materialized result instead of 
the raw changelog for this program, or otherwise make the expectation 
interleave-independent.


> ProcessTableFunctionSemanticTests[process-updating-multi-input] is flaky on 
> master
> ----------------------------------------------------------------------------------
>
>                 Key: FLINK-40568
>                 URL: https://issues.apache.org/jira/browse/FLINK-40568
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner
>    Affects Versions: 2.4.0
>            Reporter: Purushottam Sinha
>            Priority: Major
>              Labels: pull-request-available, test-stability
>
> h3. Problem
> {{ProcessTableFunctionSemanticTests}} is flaky on master for the 
> {{process-updating-multi-input}} program. It runs the two-input updating PTF 
> join {{UpdatingJoinFunction}} and asserts the sink's raw changelog with 
> {{{}containsExactlyInAnyOrder{}}}, but a two-input operator has no 
> deterministic cross-input arrival order, so the emitted changelog varies. The 
> test pins one interleaving, so an alternate order fails the assertion.
> h3. Evidence
>  * master run 
> [https://github.com/apache/flink/actions/runs/33989974423/job/101371696744] — 
> {{runSteps(TableTestProgram)[64]}} {{{}[process-updating-multi-input]{}}}, 
> {{{}Tests run: 11458, Failures: 1{}}}.
>  * Failing assertion (job is awaited, so this is the complete output, not a 
> truncation):
> {noformat}
> Expecting actual:
>   ["+I[Bob, score 2 in city London]", "+U[Bob, score 2 in city Berlin]"]
> to contain exactly in any order:
>   ["+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]"]
> {noformat}
>  * The failing run's head SHA is current master ({{{}c51e71536ed{}}}); the 
> same commit passed 51/51 local runs (JDK 17), so this is a flake, not a 
> regression at this commit.
> h3. Notes
>  * The final upsert-materialized result converges across interleavings; only 
> the raw changelog differs. A fix could assert the materialized result instead 
> of the raw changelog for this program, or otherwise make the expectation 
> interleave-independent.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to