temporalio / temporalio/features
SDK support for activity reset
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 32
- Forks
- 28
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 7
Description
When a user resets an activity the activity should be restarted.
- They may have passed
--reset-heartbeatsin which case heartbeat details should be cleared - If they didn't pass it, they may nonetheless want the code to start from the beginning of the method (perhaps they've deployed a code fix which improves efficiency or fixes a memory leak, or have non-deterministic code that has randomly gotten into a bad state.)
The server will inform the SDK that heartbeats were reset so that it can throw an error in the user's Activity.
Requirements:
-
Users shouldn't have to predict that resets will happen when writing their activity code
-
Code should by default do the right thing and exit and restart, provided they haven't written an exception handler.
-
Should work as much like pause and cancel as possible for consistency.
-
Users should be able to write a simple exception handler that cleans up after any interruption, including cancellation, pausing, and reset.
-
Users should also be able to differentiate. For example, after cancel, cleanup would be permanent, but after pause/reset, it would be temporary, which may mean the user would want to take different actions.
-
TypeScript https://github.com/temporalio/sdk-typescript/issues/1693
Contributor guide
No contributing guide indexed for this repository
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 reading the linked SDK issues for Ruby, TypeScript, Python, PHP, Go, .NET, and Java, then review this repository’s behavior and history compatibility testing context. Done means the listed SDKs support activity reset consistently with pause and cancel, including heartbeat-reset and exception-handling behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, go, java, php, python, ruby, typescript
- Domain
- api, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100