Skip to content

The recovery mode section does not say which failures count #50

Closed

Description

@jwrosewell

What happens

The Cloud Request Engine's recovery mode starts a recovery period when a significant number of request failures occur within a brief period, and during the period no request reaches the cloud service. The section gives the purpose as protecting a site when the cloud service becomes slow or fails, but does not say which failures count towards FailuresToEnterRecovery (lines 428 to 430).

The recovery period belongs to the engine, so every request shares it. The .NET pipeline counts every failure, including a 400 to 499 answer about one request's own content (CloudRequestEngine.cs lines 580 to 593). A few requests from one visitor that the cloud service refuses can then start a recovery period that stops every visitor's requests reaching the cloud service, and keep it going. The Rust SDK counted every failure too.

What is needed

The recovery mode section to say that a failure counts only when it says the cloud service is in trouble, being:

  • a request that did not complete, such as a timeout or a connection failure
  • a response with a status of 500 or more
  • a response with a status of 429
  • a response with a success status whose body could not be used

and that any other status from 400 to 499 does not count.

The change is #54. The Rust SDK's change is 51Degrees/51degrees-rust#198.

Activity

  1. added theissue type on Oct 27, 2026
  2. jwrosewell commented on Nov 13, 2026

    @jwrosewell
    ContributorAuthor

    Fixed on main (6570727, #134): cloud-request-engine.md line 475 says "A failure counts towards FailuresToEnterRecovery only when it says the cloud service is in trouble", then lists the four cases and says any other status from 400 to 499 must not count.

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

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions