Skip to content

[Bug] Run ID should be set in update handle #704

Closed
@dandavison

Description

@dandavison

When receiving an update response, the Python SDK does not set in the UpdateHandle the run ID of the run that the update landed on:

https://github.com/temporalio/sdk-python/blob/main/temporalio/client.py#L5339

In contrast, Typescript and Go and presumably others, all set this:

https://github.com/temporalio/sdk-typescript/blob/main/packages/client/src/workflow-client.ts#L852-L853

https://github.com/temporalio/sdk-go/blob/master/internal/internal_workflow_client.go#L2356

One consequence is that the PollWorkflowUpdate requests issued by the Python update handle do not contain a run ID (and so will land on any run), whereas for other SDKs those requests are constrained to the run that the update landed on.

It's possible that there are bugs here. For example, it seems that in Python a poll request might be able to target a different update with the same update ID, that exists in a post-CAN or post-reset run.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions