uber / cadence

Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.
https://cadenceworkflow.io
MIT License
8.32k stars 800 forks source link

Allow updating memo during workflow execution #3729

Closed longquanzheng closed 2 weeks ago

longquanzheng commented 4 years ago

Is your feature request related to a problem? Please describe.

Memo now is passed when StartWF, and can be retrieved during execution. However, it is not allowed to change. It will be much more useful if it's allowed to change and user can use it as a k-v store. When reading the value, Descrbie API will return the result with strongly consistency. In that way people can get rid of the query task(and handler implementation) for some small kv data.

Proposed Solution

  1. Add a new field in RespondDecisionTaskCompletedRequest to allow passing new memo data.
  2. Add a new field in DecisionTaskCompletedEventAttributes to record the memo change
  3. Process it to update the memo.

Additional context

Related to https://github.com/uber-go/cadence-client/issues/1033

ychensha commented 2 years ago

any update?

demirkayaender commented 2 years ago

We haven't looked into this issue yet but might work on it later this year. We are planning to go over all the github issues sometime around July and prioritize them.

longquanzheng commented 1 year ago

It's already supported in Temporal (goSDK): https://github.com/temporalio/sdk-go/releases/tag/v1.17.0

edmondop commented 1 year ago

@longquanzheng is there a typo in the issue description? I think you mean "it is not allowed to change" not "it is now allowed to change"

longquanzheng commented 1 year ago

@longquanzheng is there a typo in the issue description? I think you mean "it is not allowed to change" not "it is now allowed to change"

Ahh right! Thanks. Just fixed it