The GitHub Actions job "Required Checks" on 
texera.git/fix/7049-serialize-minio-test-suites has failed.
Run started by GitHub user Yicong-Huang (triggered by Yicong-Huang).

Head commit for run:
737387c4dfb19db129ddcb90fdc47010a9024124 / Yicong-Huang 
<[email protected]>
test(workflow-core): add @NonParallelTest to de-flake shared-MinIO suites

`S3StorageClientSpec` intermittently failed 4 tests in the `build / amber` CI
job (scope `WorkflowCore / Test / test`). The four suites mixing
`S3StorageTestBase` (`S3StorageClientSpec`, `LargeBinaryManagerSpec`,
`LargeBinaryInputStreamSpec`, `LargeBinaryOutputStreamSpec`) share a JVM-wide
`S3StorageClient.s3Client` and a single `StorageConfig.s3Endpoint` pointed at
one shared MinIO container. ScalaTest's parallel suite distributor runs them
concurrently within a single in-process test task, so they contend for that one
container and intermittently time out. The existing
`Global / concurrentRestrictions += Tags.limit(Tags.Test, 1)` only bounds sbt
task concurrency, not ScalaTest's in-JVM distributor.

Introduce a reusable `@org.apache.texera.common.tags.NonParallelTest` marker
(a Java `@TagAnnotation`, mirroring amber's `IntegrationTest`) and tag the four
suites. `common/workflow-core/build.sbt` reflects over the tagged suites and
gives each its own forked JVM via `Test / testGrouping`; sbt runs forked groups
one at a time (the `Tags.ForkedTestGroup` limit), so tagged suites never overlap
while every untagged suite keeps running in parallel in one in-process group.
This mirrors the FileService approach for testcontainer suites, but keyed on an
opt-in annotation instead of a name pattern so future container-backed suites
just add the tag. sbt discovers ScalaTest suites by subclass fingerprint (not by
annotation), so the tag is detected reflectively through the test class loader.

Also bound the concurrent-upload burst in the >1000-objects test from 16 to 4
threads so a single suite no longer floods the container.

Closes #7049

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

Report URL: https://github.com/apache/texera/actions/runs/30489929565

With regards,
GitHub Actions via GitBox

Reply via email to