feat: implement workflow cancellation#128
Conversation
Signed-off-by: Tim Li <ltim@uber.com>
Signed-off-by: Tim Li <ltim@uber.com>
07d2c9f to
a0876ea
Compare
<!-- Describe what has changed in this PR --> **What changed?** update_schedule now uses a read-modify-write pattern (describe → callback → full state update). <!-- Tell your future self why have you made these changes --> **Why?** Server replaces the whole field on UpdateSchedule, so partial updates would zero out sub-fields the caller didn't intend to change. <!-- How have you verified this change? Tested locally? Added a unit test? Checked in staging env? --> **How did you test it?** unit tests passing. <!-- Assuming the worst case, what can be broken when deploying this change to production? --> **Potential risks** N/A <!-- Is it notable for release? e.g. schema updates, configuration or data migration required? If so, please mention it, and also update CHANGELOG.md --> **Release notes** N/A <!-- Is there any documentation updates should be made for config, https://cadenceworkflow.io/docs/operation-guide/setup/ ? If so, please open an PR in https://github.com/cadence-workflow/cadence-docs --> **Documentation Changes** N/A Signed-off-by: Abhishek Jha <abhishek.jha@uber.com> Signed-off-by: Tim Li <ltim@uber.com>
<!-- Describe what has changed in this PR --> **What changed?** Updating idl to latest version <!-- Tell your future self why have you made these changes --> **Why?** We have bunch of updated idl changes especially of schedule feature which is required for schedule python client and testing <!-- How have you verified this change? Tested locally? Added a unit test? Checked in staging env? --> **How did you test it?** make pr <!-- Assuming the worst case, what can be broken when deploying this change to production? --> **Potential risks** N/A <!-- Is it notable for release? e.g. schema updates, configuration or data migration required? If so, please mention it, and also update CHANGELOG.md --> **Release notes** N/A <!-- Is there any documentation updates should be made for config, https://cadenceworkflow.io/docs/operation-guide/setup/ ? If so, please open an PR in https://github.com/cadence-workflow/cadence-docs --> **Documentation Changes** N/A Signed-off-by: abhishek.jha <abhishek.jha@uber.com> Signed-off-by: Tim Li <ltim@uber.com>
0705678 to
492a415
Compare
Code Review ✅ Approved 2 resolved / 2 findingsImplements workflow cancellation via new helper methods and integrated state machine support, addressing the propagation of cancellation signals to awaiters and optimizing assertion stability under performance flags. ✅ 2 resolved✅ Bug: Cancel message not propagated to timer/activity awaiters
✅ Quality: assert on cancellation_info() may be stripped under -O
OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |
What changed?
implement workflow cancellation
Why?
Cancellation is a important feature that allows for gracefully exit
How did you test it?
Potential risks
Release notes
Documentation Changes