Skip to content

Job Monitor: extract a pure retry reconciliation planner #17175

Description

@mmitche

Parent: #17171

Make retry decisions independently understandable and testable.

Scope

  • Given an immutable Helix observation and invocation context, produce explicit actions such as leave running, resubmit selected items, record an actionable failure, or take no action.
  • Keep API calls, logging, and mutable counters in an executor/orchestrator layer.
  • Preserve one-shot-on-entry behavior and stage-attempt reconciliation invariants.
  • Represent resubmission failure explicitly rather than with ambiguous nulls where practical.

Acceptance criteria

  • Retry policy is expressed by a deterministic pure component.
  • Existing retry, crash-recovery, and multi-attempt scenarios remain unchanged.
  • A reviewer can understand retry behavior without following service calls.

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