Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix retry delay going negative for large retries with exponential delays #2164

Merged
merged 7 commits into from
Jun 25, 2024

Commits on Jun 25, 2024

  1. Suppress xUnit1042

    Suppress `xUnit1042` warnings.
    martincostello committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    a982854 View commit details
    Browse the repository at this point in the history
  2. Add test to reproduce issue

    Add repro for App-vNext#2163.
    martincostello committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    a2fea03 View commit details
    Browse the repository at this point in the history
  3. Add assert for delay

    Add an assertion for the delay's value not being negative.
    martincostello committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    ebf2277 View commit details
    Browse the repository at this point in the history
  4. Fix retry delay going negative

    - Fix retry delays going negative with `DelayBackoffType.Exponential` after 1,024 retries.
    - Only compute the effective maximum `TimeSpan` once.
    - Improve regression test.
    - Assert delays are positive.
    Resolves App-vNext#2163.
    martincostello committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    f858444 View commit details
    Browse the repository at this point in the history
  5. Add more unit tests

    - Add more unit tests related to the exponential delay becoming negative.
    - Remove redundant Stryker comment.
    martincostello committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    d31e84a View commit details
    Browse the repository at this point in the history
  6. Restore Styker comment

    Turns out it's the second part that's (now) unreachable.
    martincostello authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    6340601 View commit details
    Browse the repository at this point in the history
  7. Address feedback

    - Rename field.
    - Remove redundant comment.
    - Simplify repro slightly.
    - Use `TheoryData<int>` for retry test cases.
    martincostello committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    1300d7f View commit details
    Browse the repository at this point in the history