temporalio / temporalio/sdk-rust
Clean up retry & long poll handling in retry client
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 523
- Forks
- 161
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 67
Description
There's a handful of ways calls can be considered long polls in the client code, by name or by (recently added) request extension. Make everything use extension instead of explicit name checking, and make sure metrics are set consistently for all long poll types. Probably also lift the code that always retries timeouts/cancels for task polling from the client into the worker poller so it's not special cased in the client.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the retry client’s long-poll detection and metrics handling, then inspect the worker poller’s task-polling retry behavior. Confirm all long-poll paths use request extensions and that timeout/cancel retries are handled by the worker poller rather than being special-cased in the client.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- distributed-systems
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100