You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
timer cancellation, and SDK-owned channel cleanup) runs unchanged through the
48
+
new `with` path.
14
49
- Added `ReplaySafeLogger` and `OrchestrationContext.create_replay_safe_logger()`
15
50
for suppressing duplicate log messages during orchestrator replay
16
51
- Added `GrpcChannelOptions` and `GrpcRetryPolicyOptions` for configuring
@@ -20,8 +55,41 @@ ADDED
20
55
`TaskHubGrpcClient`, `AsyncTaskHubGrpcClient`, and `TaskHubGrpcWorker` to
21
56
support pre-configured channel passthrough and low-level gRPC channel
22
57
customization.
23
-
- Added `get_orchestration_history()` and `list_instance_ids()` to the sync and async gRPC clients.
24
-
- Added in-memory backend support for `StreamInstanceHistory` and `ListInstanceIds` so local orchestration tests can retrieve history and page terminal instance IDs by completion window.
58
+
- Added `GrpcWorkerResiliencyOptions` and `GrpcClientResiliencyOptions`, plus
59
+
`resiliency_options` constructor parameters on `TaskHubGrpcClient`,
60
+
`AsyncTaskHubGrpcClient`, and `TaskHubGrpcWorker`, to configure hello
61
+
deadlines, silent-disconnect detection, reconnect backoff, and channel
62
+
recreation thresholds for SDK-managed gRPC connections.
63
+
- Added `get_orchestration_history()` and `list_instance_ids()` to the sync
64
+
and async gRPC clients.
65
+
- Added in-memory backend support for `StreamInstanceHistory` and
66
+
`ListInstanceIds` so local orchestration tests can retrieve history and page
67
+
terminal instance IDs by completion window.
68
+
69
+
CHANGED
70
+
71
+
-`when_any` now copies its input into a new list (`WhenAnyTask(list(tasks))`).
72
+
Previously the task aliased the caller's list, so mutating it after
73
+
construction was visible inside the task; that side effect no longer occurs.
74
+
75
+
FIXED
76
+
77
+
- Fixed `EntityInstanceId.__lt__` infinite recursion when compared against a
78
+
non-`EntityInstanceId` operand. It now returns `NotImplemented`, so mixed-type
79
+
comparisons raise `TypeError` cleanly instead of recursing.
80
+
- Improved `TaskHubGrpcWorker` recovery from stale or disconnected gRPC streams
81
+
so configured hello timeouts apply on fresh connections, received work resets
82
+
failure tracking, SDK-owned channels are refreshed and cleaned up safely, and
83
+
caller-owned channels are never recreated or closed during reconnects.
84
+
- Fixed `TaskHubGrpcWorker` so in-flight and queued work item completions keep
85
+
draining across graceful gRPC stream resets and worker shutdown before the
86
+
worker retires an SDK-owned channel.
87
+
- Improved sync and async gRPC clients so repeated transport failures recreate
88
+
SDK-owned channels, while long-poll deadlines, successful replies, and
89
+
application-level RPC errors do not trigger unnecessary channel replacement.
90
+
- Fixed `TaskHubGrpcClient.close()` so explicit sync client shutdown now closes
91
+
any previously retired SDK-owned gRPC channels immediately instead of waiting
0 commit comments