Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions openapi/openapiv2.json
Original file line number Diff line number Diff line change
Expand Up @@ -16743,6 +16743,10 @@
"pollerAutoscalingAutoEnroll": {
"type": "boolean",
"description": "When true, workers should use poller autoscaling by default unless explicitly configured otherwise."
},
"workflowTaskCompletionPagination": {
"type": "boolean",
"description": "True if the namespace supports paginated workflow task completion, i.e.\n`RespondWorkflowTaskCompleted` requests split across multiple pages. SDKs must check this\ncapability before sending a request with `intermediate_page` set to true."
}
},
"description": "Namespace capability details. Should contain what features are enabled in a namespace."
Expand Down
6 changes: 6 additions & 0 deletions openapi/openapiv3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13144,6 +13144,12 @@ components:
pollerAutoscalingAutoEnroll:
type: boolean
description: When true, workers should use poller autoscaling by default unless explicitly configured otherwise.
workflowTaskCompletionPagination:
type: boolean
description: |-
True if the namespace supports paginated workflow task completion, i.e.
`RespondWorkflowTaskCompleted` requests split across multiple pages. SDKs must check this
capability before sending a request with `intermediate_page` set to true.
description: Namespace capability details. Should contain what features are enabled in a namespace.
NamespaceInfo_Limits:
type: object
Expand Down
6 changes: 6 additions & 0 deletions temporal/api/errordetails/v1/message.proto
Original file line number Diff line number Diff line change
Expand Up @@ -137,3 +137,9 @@ message NexusOperationExecutionAlreadyStartedFailure {
string start_request_id = 1;
string run_id = 2;
}

// An error indicating that the server lost the buffered pages of a paginated workflow task
// completion. This is a transient error: the workflow task is still valid, and the client
// should resend all pages from page 0 using the same task token.
message WorkflowTaskCompletionBufferLostFailure {
}
4 changes: 4 additions & 0 deletions temporal/api/namespace/v1/message.proto
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@ message NamespaceInfo {
bool workflow_update_callbacks = 12;
// When true, workers should use poller autoscaling by default unless explicitly configured otherwise.
bool poller_autoscaling_auto_enroll = 13;
// True if the namespace supports paginated workflow task completion, i.e.
// `RespondWorkflowTaskCompleted` requests split across multiple pages. SDKs must check this
// capability before sending a request with `intermediate_page` set to true.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
// capability before sending a request with `intermediate_page` set to true.
// capability before sending a request with `intermediate_page` set to true or with a nonzero value in `page_number`.

To be complete

Alternatively you could just remove this bit since I think the documentation on the actual fields is more important.

bool workflow_task_completion_pagination = 14;
}

// Namespace configured limits
Expand Down
10 changes: 10 additions & 0 deletions temporal/api/workflowservice/v1/request_response.proto
Original file line number Diff line number Diff line change
Expand Up @@ -424,6 +424,16 @@ message RespondWorkflowTaskCompletedRequest {
// tasks (e.g. activity cancellation) to this specific worker instance.
string worker_control_task_queue = 20;

// 0-indexed page number when the workflow task completion is split across multiple
// requests ("pages"). 0 for single-page requests. May only be set to non-zero value
// when the namespace capability workflow_task_completion_pagination is true.
int32 page_number = 21;

// True for non-final pages of a paginated workflow task completion. The final page's
// `page_number` tells the server how many intermediate pages (0..page_number-1) preceded it.
// May only be used when the namespace capability workflow_task_completion_pagination is true.
bool intermediate_page = 22;

// SDK capability details.
message Capabilities {
// True if the SDK can handle speculative workflow task with command events. If true, the
Expand Down
Loading