dhiaayachi / temporal

Temporal service
https://docs.temporal.io
MIT License
0 stars 0 forks source link

Signal requestID dropped upon workflow reset #430

Open dhiaayachi opened 2 months ago

dhiaayachi commented 2 months ago

Expected Behavior

I am not sure if this is expected or not, but at least existing behavior looks weird to me

Actual Behavior

Steps to Reproduce the Problem

  1. Change tctl code to include a requestID when sending signals
  2. Start a workflow
  3. Use the modified tctl to signal it several time.
  4. Terminate the workflow started in 2
  5. Run tctl admin desc command, signalRequestedIds field is shown.
  6. Reset the workflow to first workflow task (any reset type will do I think, but I haven't verified)
  7. Run tctl admin desc command for the new run, there's no signalRequestedIds field.

Specifications

dhiaayachi commented 1 month ago

Thanks for reporting this issue. We're missing some context to be able to find a solution.

dhiaayachi commented 1 month ago

Thank you for reporting this issue.

This behavior is expected as the signal requested IDs are not persisted as part of the workflow's event history and are only kept in memory while the workflow is running. This is because the signal request IDs are not required for the workflow's execution and are mainly used for deduplication purposes.

Currently, there is no direct workaround to preserve the signal request IDs across workflow resets, as it is not a feature of Temporal's current design.

You can find more information about Signals, Queries, and Updates in the Workflow message passing section of our documentation.

We appreciate your feedback and are always looking for ways to improve Temporal. Please let us know if you have any other questions.