Skip to content

feat: add maximum elapsed time to retries - #241

Open
ddupg wants to merge 5 commits into
Xuanwo:mainfrom
ddupg:feat/ddu-341-client-retry-timeout
Open

feat: add maximum elapsed time to retries#241
ddupg wants to merge 5 commits into
Xuanwo:mainfrom
ddupg:feat/ddu-341-client-retry-timeout

Conversation

@ddupg

@ddupg ddupg commented Aug 19, 2026

Copy link
Copy Markdown

Summary

  • add an executor-level maximum elapsed time across async, blocking, and context-aware retries
  • start timing with the first attempt and stop before scheduling a new retry without interrupting admitted work
  • use std::time::Instant on native targets and web-time only on browser WASM while preserving no_std builds

This enables OpenDAL to implement apache/opendal#8110 without duplicating retry timing across its stateful operations.

ddupg added 2 commits August 19, 2026 19:43
Stop scheduling retries after a configurable elapsed budget while preserving native, WASM, and no_std compatibility.
Use the Clippy-preferred box replacement and refresh the trybuild diagnostic expected by current compilers.
Avoid wall-clock assumptions in elapsed-time tests so native and WASM runs cannot fail due to startup or scheduling timing.
@ddupg
ddupg marked this pull request as ready for review August 19, 2026 12:59
ddupg added 2 commits August 19, 2026 21:06
Keep the test module available without the std feature so future no_std tests are not silently excluded.
Register the retry core tests with wasm-bindgen-test so browser-target clock behavior is covered by CI.
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