Skip to content

AWS tests run two test cases in parallel that should be sequential, causing transient error #8282

Closed

Description

@brooke-hamilton

Steps to reproduce

There is no reliable way to reproduce the issue because it is caused by the timing of parallel tests, but it appears in this test run.

    cli.go:341: [rad]       "details": [
    cli.go:341: [rad]         {
    cli.go:341: [rad]           "code": "AlreadyExists",
    cli.go:341: [rad]           "message": "radiusfunctionaltestbucket-6ab9d6f8-a99e-42ac-939a-fee6b4b3c6bd already exists (Service: S3, Status Code: 0, Request ID: null)"
    cli.go:341: [rad]         }

Observed behavior

aws_mechanics_test.go contains two test steps that are intended to run one after the other in order to prove that a resource can be updated (source link).

However, the two test steps are executed by passing the steps to the RTTest.Test() func, which specifies that test steps should be run in parallel (source link)

Desired behavior

The two test cases defined in this class should run sequentially, not in parallel.

Workaround

The only workaround is to requeue the test workflow.

rad Version

0.42.0

Operating system

GitHub workflow PR validation

Additional context

No response

Would you like to support us?

  • Yes, I would like to support you

AB#14145

Activity

  1. added
    bugSomething is broken or not working as expected
    on Jan 23, 2025
  2. radius-triage commented on Jan 23, 2025

    @radius-triage

    👋 @brooke-hamilton Thanks for filing this bug report.

    A project maintainer will review this report and get back to you soon. If you'd like immediate help troubleshooting, please visit our Discord server.

    For more information on our triage process please visit our triage overview

  3. changed the title [-]AWS test runs two test cases in parallel but should be sequential[/-] [+]AWS tests run two test cases in parallel that should be sequential, causing transient error[/+] on Jan 23, 2025
  4. radius-triage commented on Feb 10, 2025

    @radius-triage

    👍 We've reviewed this issue and have agreed to add it to our backlog. Please subscribe to this issue for notifications, we'll provide updates when we pick it up.

    We also welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our contribution guidelines and assign this to yourself by commenting "/assign" on this issue.

    For more information on our triage process please visit our triage overview

  5. lakshmimsft commented on Feb 10, 2025

    @lakshmimsft
    Contributor

    Findings: The steps within a single test run sequentially. Each step depends on the success of previous steps (if !success { t.Skip() })
    The test function itself can run in parallel with other tests but steps within a single test cannot run in parallel with each other. The reported cause is unlikely to be the cause of the issue.

  6. brooke-hamilton commented on Feb 10, 2025

    @brooke-hamilton
    MemberAuthor

    Findings: The steps within a single test run sequentially. Each step depends on the success of previous steps (if !success { t.Skip() }) The test function itself can run in parallel with other tests but steps within a single test cannot run in parallel with each other. The reported cause is unlikely to be the cause of the issue.

    Closing -- as @lakshmimsft pointed out these test steps are not running in parallel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken or not working as expectedtriagedThis issue has been reviewed and triaged

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions