-
Notifications
You must be signed in to change notification settings - Fork 19
Description
Is your feature request related to a problem? Please describe.
When users make a request to update a workflow execution they specify the update life cycle stage they would like to wait for before returning. Depending on the SDK this is specified either directly through an option or through the SDK API they use. Currently the SDK just passes this option to the gRPC call, but that is not sufficient since the gRPC call can return early if the server encounters an internal timeout. If the server encounters an internal timeout it will return an empty response and the SDK should poll. Currently the SDK returns an update handle if the server returns an empty response. This is dangerous since updates are not durable until accepted so it is possible to return a handle to a non durable update that can be lost.
Solution
If the server returns an update not in the desired life cycle stage, the SDK should start polling the update request until it reaches the desired life cycle stage before returning the handle to the user.
Client places:
- Go - [Feature Request] SDK should not return an update handle if the update has not reached the desired state sdk-go#1414
- CLI - Should be covered by the Go SDK
- Java - [Feature Request] SDK should not return an update handle if the update has not reached the desired state sdk-java#2002
- TypeScript - [Feature Request] SDK should not return an update handle if the update has not reached the desired state sdk-typescript#1372
- Python - [Feature Request] SDK should not return an update handle if the update has not reached the desired state sdk-python#485
- .NET - [Feature Request] SDK should not return an update handle if the update has not reached the desired state sdk-dotnet#199