temporalio / temporalio/sdk-rust

Clean up retry & long poll handling in retry client

Open
#813 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.