Skip to content

validation to reject negative activity jitter#11117

Merged
fretz12 merged 1 commit into
feature/activity-operator-cmdsfrom
fredtzeng/saa-ops-validate-jitter
Jul 16, 2026
Merged

validation to reject negative activity jitter#11117
fretz12 merged 1 commit into
feature/activity-operator-cmdsfrom
fredtzeng/saa-ops-validate-jitter

Conversation

@fretz12

@fretz12 fretz12 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

What changed?

Added validation that rejects invalid or negative jitter values for reset and unpause activity execution requests. Added regression tests for both request types.

Why?

Negative jitter could reach workflow activity scheduling and be passed to rand.Int63n, which panics for non-positive arguments. Rejecting it at the request boundary prevents a History service panic and keeps workflow and standalone activity behavior consistent.

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)

@fretz12
fretz12 requested review from dandavison and spkane31 July 16, 2026 21:53
@fretz12
fretz12 requested a review from a team as a code owner July 16, 2026 21:53
@fretz12
fretz12 merged commit df8d649 into feature/activity-operator-cmds Jul 16, 2026
41 of 46 checks passed
@fretz12
fretz12 deleted the fredtzeng/saa-ops-validate-jitter branch July 16, 2026 22:25
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