Skip to content

remove reset_heartbeats field in ResetActivityExecutionRequest - #820

Merged
spkane31 merged 2 commits into
mainfrom
spk/remove-keep-heartbeats
Jul 14, 2026
Merged

remove reset_heartbeats field in ResetActivityExecutionRequest#820
spkane31 merged 2 commits into
mainfrom
spk/remove-keep-heartbeats

Conversation

@spkane31

@spkane31 spkane31 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

What changed?
Remove the reset_heartbeat field from temporal.api.workflowservice.v1.ResetActivityExecutionRequest.

Why?
The new default behavior will be to reset heartbeats with a reset request so this field is no longer needed.

Breaking changes
This is technically a breaking change, but this endpoint has not been published in the server yet so no users can actually use this field.

Server PR
N/A


// If activity is paused, it will remain paused after reset
bool keep_paused = 7;
bool keep_paused = 6;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm assuming swapping is ok if no one uses this API?
Safe thing to do is:

    reserved 6;
    reserved "reset_heartbeat";

    // If activity is paused, it will remain paused after reset
    bool keep_paused = 7;
...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree it's OK to renumber: ResetActivityExecutionRequest has always returned an error.

Comment thread buf.yaml
- WIRE_JSON
ignore:
- google
ignore_only:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we did my above comment, I don't think we need this

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree we can swap, but since this has never been used server side I think it is cleaner to remove


// If activity is paused, it will remain paused after reset
bool keep_paused = 7;
bool keep_paused = 6;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree it's OK to renumber: ResetActivityExecutionRequest has always returned an error.

@spkane31
spkane31 merged commit e74dc68 into main Jul 14, 2026
4 checks passed
@spkane31
spkane31 deleted the spk/remove-keep-heartbeats branch July 14, 2026 23:05
spkane31 added a commit to temporalio/temporal that referenced this pull request Jul 15, 2026
## What changed?
Resetting an activity execution now always clears heartbeat details. 

temporalio/api#820 Removes the `reset_heartbeat`
field from the Request message.

## Why?
This change simplifies the API surface and we (the engineering/product
team) do not see a good use case for resetting an activity and keeping
heartbeat data. If this is needed or there is a big customer ask for it
we can add this back in the future.

## How did you test it?
- [ ] built
- [ ] run locally and tested manually
- [X] covered by existing tests
- [X] added new unit test(s)
- [X] added new functional test(s)

## Potential risks
Minimal, PR is into a feature branch
dandavison added a commit that referenced this pull request Aug 4, 2026
This PR reverts "remove reset_heartbeats field in
ResetActivityExecutionRequest (#820
e74dc68)"

**What changed?**
- Add reset_heartbeats field to ResetActivityExecutionRequest


**Why?**
- Parity with WFA
- This product behavior makes sense: a user with a long-running activity
using exponential backoff on attempt 10 may wish to reset the attempt
counter in order that the next retry backoff is short, and yet preserve
their checkpointed progress.

**Breaking changes**
No
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.

4 participants