Skip to content
Merged
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
1 change: 1 addition & 0 deletions changelog/breaking-changes/unrallying-denice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Core: Core now rejects activation responses with a nondeterminism error if the activation contained only updates and the response rejects every update but also includes another workflow command. SDKs must return only update rejections when all validators reject an update-only activation.
3 changes: 3 additions & 0 deletions changelog/fixed/unrallying-denice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Core: Preserve queued queries across workflow eviction so requests for the same run are answered instead of silently dropped.
Core: Rejection-only update tasks no longer dispatch local activities resumed from replay before validation, allowing those tasks to remain unrecorded in workflow history.
Core: Preparing a legacy query now remains in replay mode, preventing unrecorded local activity attempts that could execute twice or leave the workflow stuck.
20 changes: 10 additions & 10 deletions temporalio/api/activity/v1/message_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

44 changes: 44 additions & 0 deletions temporalio/api/activity/v1/message_pb2.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,9 @@ class ActivityExecutionInfo(google.protobuf.message.Message):
EXECUTION_TIME_FIELD_NUMBER: builtins.int
PROPAGATED_NEXUS_SERIALIZATION_CONTEXT_FIELD_NUMBER: builtins.int
EAGER_EXECUTION_ACCEPTED_FIELD_NUMBER: builtins.int
STARTED_BY_PRINCIPAL_FIELD_NUMBER: builtins.int
CLOSED_BY_PRINCIPAL_FIELD_NUMBER: builtins.int
LAST_WORKER_PRINCIPAL_FIELD_NUMBER: builtins.int
activity_id: builtins.str
"""Unique identifier of this activity within its namespace along with run ID (below)."""
run_id: builtins.str
Expand Down Expand Up @@ -390,6 +393,29 @@ class ActivityExecutionInfo(google.protobuf.message.Message):
"""Indicates whether eager execution was requested for this activity and accepted by the server
for its first task.
"""
@property
def started_by_principal(
self,
) -> temporalio.api.common.v1.message_pb2.ResolvedPrincipal:
"""Authenticated principal by which this activity execution was started.

(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "by" identifies the authenticated actor. --)
"""
@property
def closed_by_principal(
self,
) -> temporalio.api.common.v1.message_pb2.ResolvedPrincipal:
"""Authenticated principal by which this activity execution was closed.

(-- api-linter: core::0140::prepositions=disabled
aip.dev/not-precedent: "by" identifies the authenticated actor. --)
"""
@property
def last_worker_principal(
self,
) -> temporalio.api.common.v1.message_pb2.ResolvedPrincipal:
"""Authenticated principal of the worker that most recently interacted with this activity execution."""
def __init__(
self,
*,
Expand Down Expand Up @@ -440,6 +466,12 @@ class ActivityExecutionInfo(google.protobuf.message.Message):
propagated_nexus_serialization_context: temporalio.api.nexus.v1.message_pb2.PropagatedSerializationContext
| None = ...,
eager_execution_accepted: builtins.bool = ...,
started_by_principal: temporalio.api.common.v1.message_pb2.ResolvedPrincipal
| None = ...,
closed_by_principal: temporalio.api.common.v1.message_pb2.ResolvedPrincipal
| None = ...,
last_worker_principal: temporalio.api.common.v1.message_pb2.ResolvedPrincipal
| None = ...,
) -> None: ...
def HasField(
self,
Expand All @@ -448,6 +480,8 @@ class ActivityExecutionInfo(google.protobuf.message.Message):
b"activity_type",
"close_time",
b"close_time",
"closed_by_principal",
b"closed_by_principal",
"current_retry_interval",
b"current_retry_interval",
"execution_duration",
Expand All @@ -472,6 +506,8 @@ class ActivityExecutionInfo(google.protobuf.message.Message):
b"last_heartbeat_time",
"last_started_time",
b"last_started_time",
"last_worker_principal",
b"last_worker_principal",
"next_attempt_schedule_time",
b"next_attempt_schedule_time",
"priority",
Expand All @@ -492,6 +528,8 @@ class ActivityExecutionInfo(google.protobuf.message.Message):
b"start_delay",
"start_to_close_timeout",
b"start_to_close_timeout",
"started_by_principal",
b"started_by_principal",
"user_metadata",
b"user_metadata",
],
Expand All @@ -509,6 +547,8 @@ class ActivityExecutionInfo(google.protobuf.message.Message):
b"canceled_reason",
"close_time",
b"close_time",
"closed_by_principal",
b"closed_by_principal",
"current_retry_interval",
b"current_retry_interval",
"eager_execution_accepted",
Expand Down Expand Up @@ -537,6 +577,8 @@ class ActivityExecutionInfo(google.protobuf.message.Message):
b"last_started_time",
"last_worker_identity",
b"last_worker_identity",
"last_worker_principal",
b"last_worker_principal",
"links",
b"links",
"next_attempt_schedule_time",
Expand Down Expand Up @@ -567,6 +609,8 @@ class ActivityExecutionInfo(google.protobuf.message.Message):
b"start_delay",
"start_to_close_timeout",
b"start_to_close_timeout",
"started_by_principal",
b"started_by_principal",
"state_size_bytes",
b"state_size_bytes",
"state_transition_count",
Expand Down
2 changes: 2 additions & 0 deletions temporalio/api/common/v1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
Principal,
Priority,
ResetOptions,
ResolvedPrincipal,
RetryPolicy,
SearchAttributes,
TimeSkippingConfig,
Expand Down Expand Up @@ -45,6 +46,7 @@
"Principal",
"Priority",
"ResetOptions",
"ResolvedPrincipal",
"RetryPolicy",
"SearchAttributes",
"TimeSkippingConfig",
Expand Down
Loading
Loading