Skip to content

[Bug]: Race condition in minSuccessful completion: remaining operations show SUCCEEDED instead of STARTED in cloud environment #367

@ParidelPooya

Description

@ParidelPooya

Expected Behavior

When minSuccessful: 2 is reached:

  • First 2 operations should have status SUCCEEDED
  • Remaining operations should have status STARTED (not completed/cancelled)

Actual Behavior

Actual Behavior (Cloud Only)

  • First 2 operations have status SUCCEEDED ✅
  • Remaining operations incorrectly show status SUCCEEDED ❌

Steps to Reproduce

Affected Tests

  • src/examples/map/min-successful/map-min-successful.test.ts
  • src/examples/parallel/min-successful/parallel-min-successful.test.ts

SDK Version

1.0.0

Node.js Version

22.x

Is this a regression?

No

Last Working Version

No response

Additional Context

Root Cause Analysis

This appears to be a timing issue related to asynchronous checkpoint processing in the cloud environment:

  • Cloud environments have different checkpoint processing timing than local testing
  • The race condition occurs between operation completion and checkpoint state updates
  • Local testing with simulated delays (200-500ms) could not reproduce the issue consistently

Temporary Workaround

The failing assertions have been commented out in both test files with TODO comments:
typescript
// TODO: Re-enable these assertions when we find the root cause of the cloud timing issue
// where remaining items show SUCCEEDED instead of STARTED

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinglanguage-sdkIssue relates to the Language SDK

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions