Skip to content

Include workflow ID in busy workflow errors#10512

Draft
kevinawoo wants to merge 1 commit into
temporalio:mainfrom
kevinawoo:add-workflow-id-busy-error
Draft

Include workflow ID in busy workflow errors#10512
kevinawoo wants to merge 1 commit into
temporalio:mainfrom
kevinawoo:add-workflow-id-busy-error

Conversation

@kevinawoo
Copy link
Copy Markdown
Member

@kevinawoo kevinawoo commented Jun 3, 2026

What changed

  • Added a workflow-ID-aware BusyWorkflow error wrapper that preserves the existing ErrResourceExhaustedBusyWorkflow sentinel via errors.Is.
  • Returned that wrapper from workflow cache lock timeout paths when the workflow ID is known.
  • Added tests covering the gRPC status message, ResourceExhausted cause/scope preservation, and the cache lock timeout return path.

Why

Generic BusyWorkflow responses currently return Workflow is busy. with no workflow identity. That makes the grpc_message useful for finding BusyWorkflow responses, but not for identifying the specific workflow execution. This keeps the existing BusyWorkflow cause/scope semantics while returning messages like:

Workflow is busy. WorkflowId: <workflow-id>.

Validation

  • go test ./service/history/consts ./service/history/workflow/cache ./service/history/queues
  • go test ./service/history -run TestDoesNotExist
  • git diff --check

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.

1 participant