Skip to content

Architecture docs still describe retries as idempotent-only, max 3 (predates configurable retry_policy) #1056

Description

@shaneutt

The architecture docs and review criteria still describe retry behavior as it
was before the configurable retry_policy landed. They present retries as
idempotent-only and capped at 3, which is now only the legacy default (used when
a cluster has no retry_policy), not what a configured policy does.

A configured RetryPolicy supports (and the reference docs already cover this,
e.g. the allow_non_idempotent
row):

  • allow_non_idempotent: true to retry POST/PATCH
  • a configurable max_retries (default 3, capped at 15 by ServerConf)
  • retriable_status_codes / retriable_conditions, so retries can fire on 5xx
    or a reset, not only connect failures

Stale spots:

The invariant that is still absolute and worth keeping is "never replay after
bytes were written upstream." The idempotency and attempt-count wording should be
updated to describe the configurable policy (with the legacy default called out
as the default), matching the reference docs.

Praxis version: main (v0.5.3 line)

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions