Skip to content

Fix standalone activity heartbeat flag precedence#11087

Merged
spkane31 merged 2 commits into
feature/activity-operator-cmdsfrom
spk/heartbeat-flag-precedence
Jul 15, 2026
Merged

Fix standalone activity heartbeat flag precedence#11087
spkane31 merged 2 commits into
feature/activity-operator-cmdsfrom
spk/heartbeat-flag-precedence

Conversation

@spkane31

@spkane31 spkane31 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

What changed?

Updated standalone activity heartbeat responses to return only the highest-precedence requested action: cancel, reset, then pause.

Why?

A reset with keep-paused previously returned both reset and pause flags. Workers must receive only one action per heartbeat response.

How did you test it?

  • built
  • run locally and tested manually
  • covered by existing tests
  • added new unit test(s)
  • added new functional test(s)

Potential risks

None, into a feature branch.

@spkane31
spkane31 marked this pull request as ready for review July 15, 2026 19:33
@spkane31
spkane31 requested a review from a team as a code owner July 15, 2026 19:33
@spkane31
spkane31 requested review from dandavison and fretz12 July 15, 2026 19:34
@spkane31
spkane31 merged commit a5a721d into feature/activity-operator-cmds Jul 15, 2026
46 checks passed
@spkane31
spkane31 deleted the spk/heartbeat-flag-precedence branch July 15, 2026 21:07
dandavison pushed a commit that referenced this pull request Jul 18, 2026
Implements Pause, Unpause, Reset, and UpdateActivityExecutionOptions
RPCs for standalone CHASM activities. Adds matching frontend and
history service handlers in chasm/lib/activity that dispatch to
either the workflow-activity path or the standalone-activity path
based on the presence of a workflow ID.

Also adds PAUSE_REQUESTED and RESET_REQUESTED state machine states
for standalone activities, the original_options snapshot for
restore-on-reset semantics, the activity-options merge helpers
(common/activityoptions), and the supporting proto schema changes
(start_request_id, sdk_name, sdk_version, etc.).

Squashed PRs:
  #9693  RPC boilerplate and code generation
  #9850  Implement UpdateActivityExecutionOptions
  #9851  Implement Pause/UnpauseActivityExecution for SAA
  #9852  Implement ResetActivityExecution for SAA
  #10001 Pause returns FailedPrecondition when already paused
  #10025 Validator function fixes
  #10265 Replace PauseState flag with PAUSE_REQUESTED state
  #10364 Add RESET_REQUESTED state to standalone activity
  #10745 Add support for updating start_delay via UpdateActivityOptions
  #10913 Preserve SAA retry backoff across unpause re-dispatch
  #10914 Fix SAA unpause for keep-paused reset
  #10917 Reject stale legacy SAA schedule-to-close timers
  #10920 Preserve NextRetryDelay across unrelated activity option updates
  #10921 Validate merged SAA retry policy updates
  #10923 Fix SAA reset attempt dispatch time reporting
  #11010 Use default retry policy when updating with nil
  #11020 Fix: de-duplicate pause even if activity is unpaused
  #11013 Fix: reject restore_original when a standalone activity has no original options snapshot
  #11032 Reject unsupported and empty update_mask paths in UpdateActivityExecutionOptions
  #11030 Fix: describe only provides heartbeat/failure when opted-in
  #11016 Preserve pending activity next retry delay
  #11068 Add SAA operator APIs to DC redirection whitelist
  #10954 Remove reset_heartbeats field in ResetActivityExecutionRequest
  #11087 Fix standalone activity heartbeat flag precedence
  #11117 Validation to reject negative activity jitter
  #11120 Fix bogus StartToCloseLatency for non-running standalone activities
  #11097 Fix task token invalidation after resetting an activity
  #11067 SAA bug fix: update start delay while paused
  #11123 SAA: cleanup
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.

2 participants