Skip to content

Flaky Tests: Orleans.Transactions.AzureStorage.Tests.TransactionConcurrencyTests - Multiple Test Methods #9554

@ReubenBond

Description

@ReubenBond

Description

Multiple test methods in the TransactionConcurrencyTests class have been identified as flaky in the CI pipeline.

Affected Tests

  1. TransactionChainTest - 6 failures out of 261 runs (97.7% success rate, 0.91s avg duration)
    • Tests a chain of transactions where each is dependent on the results of the previous
  2. SingleSharedGrainTest - 4 failures out of 261 runs (98.46% success rate, 0.51s avg duration)
    • Tests two transactions sharing a single grain
  3. TransactionTreeTest - 3 failures out of 261 runs (98.85% success rate, 0.43s avg duration)
    • Tests a single transaction containing two grains dependent on two other transactions

Test Details

  • Test Class:
  • Base Class:
  • Test Categories: AzureStorage, Transactions, Functional

Test Description

These tests verify transaction concurrency scenarios including:

  • Shared grain access between concurrent transactions
  • Sequential transaction dependencies (chain pattern)
  • Complex transaction dependencies (tree pattern)

Failure Pattern

The tests show varying failure rates (97.7% to 98.85% success) but all involve transaction concurrency and coordination. The failures may be related to:

  • Race conditions in concurrent transaction execution
  • Timing issues with transaction dependency resolution
  • Azure Storage transaction isolation level conflicts
  • Deadlock or livelock scenarios
  • Transaction commit/rollback timing

Next Steps

  • Investigate transaction concurrency control mechanisms
  • Review transaction isolation levels and conflict resolution
  • Check for potential deadlock scenarios in test patterns
  • Analyze timing sensitivities in transaction coordination
  • Consider adding diagnostic logging to capture failure patterns
  • Review Azure Storage consistency guarantees for concurrent operations

Related

  • Test implementation:
  • Test class:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions