Files
tasks/proto/internal/buf.yaml
Chetan GowdaandGitHub 8e624df2aa Mutable state changes for workflow pause. (#8560)
## What changed?
**Note**: This depends on https://github.com/temporalio/api/pull/653.
Sending it for some early feedback.
- Made changes to `WorkflowPauseInfo` (in WorkflowExecutionInfo).
Reusing unused proto fields.
- Added mutablestate.IsWorkflowExecutionPaused()
- Added mutablestate.AddWorkflowExecutionPausedEvent()

## Why?
- These changes are needed to implement pause/unpause features.

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



---

> [!NOTE]
> Adds workflow-level pause/unpause with new `WorkflowPauseInfo` fields,
client endpoints, history event handling, state/status validation for
`PAUSED`, and tests; removes activity-level pause info.
> 
> - **Protocol/API**:
> - Redefine `persistence.v1.WorkflowPauseInfo` to `{pause_time,
identity, reason, request_id}`; remove `ActivityPauseInfo` and related
helpers.
> - Bump dependency `go.temporal.io/api` and adjust generated code
indexes.
> - Update RPC metadata, redirection maps, quotas, and log tags for
`PauseWorkflowExecution`/`UnpauseWorkflowExecution`.
> - **Frontend Clients**:
> - Add `PauseWorkflowExecution` and `UnpauseWorkflowExecution` to
`client_impl`, `metric_client`, `retryable_client`, and mocks.
> - **History/State**:
> - Add `WorkflowExecutionPaused` event creation
(`Create/Add...PausedEvent`) with buffering rules (paused allowed to
buffer; unpaused not buffered).
> - Implement `ApplyWorkflowExecutionPausedEvent`: set status `PAUSED`,
populate `executionInfo.PauseInfo`, invalidate pending activities and
workflow task via stamps.
> - Rebuilder applies paused event; state transition validation supports
`PAUSED` across CREATED/RUNNING/ZOMBIE.
> - **Validation/Tests**:
> - Allow `WORKFLOW_EXECUTION_STATUS_PAUSED` in validators; expand unit
tests for create/update state/status and paused behavior.
> - **Tooling**:
>   - `buf.yaml` breaking ignore for `executions.proto`.
> 
> <sup>Written by [Cursor
Bugbot]() for commit
951c9c4a53473a319afc5e2d62ac3cc1c85f3770. This will update automatically
on new commits. Configure
[here]().</sup>
2025-11-19 10:37:18 -08:00

25 lines
738 B
YAML

# Generated by "buf config migrate-v1beta1". Edit as necessary, and
# remove this comment when you're finished.
#
# This module represents the "internal" root found in
# the previous configuration.
version: v1
deps:
- buf.build/googleapis/googleapis
breaking:
use:
- WIRE
# Uncomment this to temporarily ignore specific files or directories:
ignore:
# example: - temporal/server/api/.../message.proto
- temporal/server/api/persistence/v1/chasm.proto
- temporal/server/api/token/v1/message.proto
# TODO: (Chetan) Remove this after merging #8500
- temporal/server/api/persistence/v1/executions.proto
lint:
use:
- DEFAULT
except:
- PACKAGE_SAME_JAVA_MULTIPLE_FILES
- PACKAGE_SAME_JAVA_PACKAGE