Skip to content

fix(test): isolate e2e suites by unique workflow/execution id [release/v1.2 backport]#5903

Merged
Yicong-Huang merged 1 commit into
apache:release/v1.2from
Ma77Ball:backport/5888-e2e-iceberg-isolation-v1.2
Jun 23, 2026
Merged

fix(test): isolate e2e suites by unique workflow/execution id [release/v1.2 backport]#5903
Yicong-Huang merged 1 commit into
apache:release/v1.2from
Ma77Ball:backport/5888-e2e-iceberg-isolation-v1.2

Conversation

@Ma77Ball

@Ma77Ball Ma77Ball commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

  • Backport of fix(test): isolate e2e suites by unique workflow/execution id #5888 to release/v1.2, applied as git cherry-pick -x 8803d084c.
  • Each amber e2e suite now gets a distinct id via a new TestUtils.workflowContext(id, ...) helper (DataProcessingSpec=1, PauseSpec=2, ReconfigurationSpec=3, ReconfigurationIntegrationSpec=4), and the DB fixture rows (user/workflow/version/execution, plus a per-id email) are derived from that id, so concurrent suites no longer collide in the shared Iceberg keyspace.
  • One conflict resolved, in TestUtils.scala imports only: kept release/v1.2's org.apache.texera.amber.config.StorageConfig path and took the cherry-pick's added ExecutionIdentity/WorkflowIdentity/WorkflowSettings imports needed by the new helper. The four spec files applied cleanly.
  • The runWorkflowAndReadTerminalResults/readMaterializedResults helpers that exist on main came from a separate change not on release/v1.2; fix(test): isolate e2e suites by unique workflow/execution id #5888 does not touch them, so they are correctly absent here.

Any related issues, documentation, discussions?

Related to #5887

How was this PR tested?

  • Behavior is unchanged from fix(test): isolate e2e suites by unique workflow/execution id #5888 (test-only isolation), so it relies on the existing e2e suites carried over verbatim. Reviewer can run them in the integration job: sbt "amber/IntegrationTest/testOnly *ReconfigurationIntegrationSpec", and the unit e2e suites via sbt "amber/testOnly *DataProcessingSpec *PauseSpec *ReconfigurationSpec"; expect all green with no Iceberg CommitFailedException keyspace collisions across concurrently-running suites.
  • Local sbt could not load on release/v1.2 (its project/ lacks AddMetaInfLicenseFiles, unrelated to this change), so full compile/test is left to CI on this PR.

Was this PR authored or co-authored using generative AI tooling?

Co-authored with Claude Opus 4.8 in compliance with ASF

…#5888)

- Add `TestUtils.workflowContext(id, settings)` that sets both
`workflowId` and `executionId` to `id`, and make the DB fixtures plus
`setUp`/`cleanupWorkflowExecutionData` take an `id` (the user email is
derived from `id` to avoid the unique-email collision).
- Give each materializing e2e suite a distinct id so concurrent suites
no longer share an Iceberg result keyspace or DB rows:
DataProcessingSpec=1, PauseSpec=2, ReconfigurationSpec=3,
ReconfigurationIntegrationSpec=4.
- Test-only change, no production code; BatchSizePropagationSpec and
CheckpointSpec are untouched because they do not materialize results.
Closes: apache#5887
- `sbt "WorkflowExecutionService/Test/compile"` compiles clean on Java
17.
- Run the previously-flaky suite against the integration services
(Postgres test DB + MinIO/S3 + Iceberg catalog, as in the `build /
amber` CI job): `sbt "WorkflowExecutionService/testOnly
*DataProcessingSpec"`; expect all DataProcessingSpec tests green with no
CommitFailedException flake.
- The timing-dependent flake could not be reproduced locally (no
MinIO/Iceberg env), so final verification is the `build / amber` CI job
staying green across re-runs.
Co-authored with Claude Opus 4.8 in compliance with ASF

(cherry picked from commit 8803d08)
@Ma77Ball

Copy link
Copy Markdown
Contributor Author

/request-review @xuang7 @Yicong-Huang

@github-actions

Copy link
Copy Markdown
Contributor

Automated Reviewer Suggestions

Based on the git blame history of the changed files, we recommend the following reviewers:

  • Contributors with relevant context: @Yicong-Huang
    You can notify them by mentioning @Yicong-Huang in a comment.

@github-actions github-actions Bot requested review from Yicong-Huang and xuang7 June 23, 2026 09:16
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 51.98%. Comparing base (c39e99b) to head (0f6b9a9).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@               Coverage Diff               @@
##             release/v1.2    #5903   +/-   ##
===============================================
  Coverage           51.98%   51.98%           
  Complexity           2480     2480           
===============================================
  Files                1065     1065           
  Lines               41290    41290           
  Branches             4420     4420           
===============================================
  Hits                21464    21464           
  Misses              18565    18565           
  Partials             1261     1261           
Flag Coverage Δ *Carryforward flag
access-control-service 64.61% <ø> (ø) Carriedforward from c39e99b
agent-service 34.36% <ø> (ø) Carriedforward from c39e99b
amber 52.20% <ø> (ø)
computing-unit-managing-service 1.65% <ø> (ø) Carriedforward from c39e99b
config-service 56.06% <ø> (ø) Carriedforward from c39e99b
file-service 58.59% <ø> (ø) Carriedforward from c39e99b
frontend 46.31% <ø> (ø) Carriedforward from c39e99b
pyamber 90.77% <ø> (ø) Carriedforward from c39e99b
python 90.75% <ø> (ø) Carriedforward from c39e99b
workflow-compiling-service 58.69% <ø> (ø) Carriedforward from c39e99b

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Yicong-Huang Yicong-Huang changed the title fix(test): isolate e2e suites by unique workflow/execution id (#5888) [release/v1.2 backport] fix(test): isolate e2e suites by unique workflow/execution id [release/v1.2 backport] Jun 23, 2026
@Yicong-Huang Yicong-Huang merged commit 24f71f6 into apache:release/v1.2 Jun 23, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants