Skip to content

feat: Add a retry state for long-running components - #349

Draft
jsonbailey wants to merge 1 commit into
jb/sdk-3322/sse-report-failuresfrom
jb/sdk-2804/retry-state
Draft

jsonbailey wants to merge 1 commit into
jb/sdk-3322/sse-report-failuresfrom
jb/sdk-2804/retry-state

Conversation

@jsonbailey

@jsonbailey jsonbailey commented Oct 16, 2026 •

Copy link
Copy Markdown

Summary

Stacked on #349. The FDv1 polling data source no longer stops for good after an HTTP error such as a 401.

  • Polling waits through RetryState: one interval after a success or a normal failure, and the extended backoff (5 minutes up to 1 hour) after an unexpected failure. The next poll is timed from when the previous one completes.
  • A 200 with a payload the SDK cannot use counts as a failure and clears the ETag, so the retry fetches fresh data. A 304 after a failure sets the status back to valid.
  • No HTTP error sets DataSourceState.shutdown any more. The status docs are updated.
  • Contract test service: declares retry-conformance-fdv1-polling, and applies polling.pollIntervalMs with no minimum, through a hook that works only when asserts are on.

@jsonbailey
jsonbailey added this pull request to stack #353 October 16, 2026 06:33

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant