Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Signal requestID dropped upon workflow reset #430

Open
dhiaayachi opened this issue Sep 5, 2024 · 2 comments
Open

Signal requestID dropped upon workflow reset #430

dhiaayachi opened this issue Sep 5, 2024 · 2 comments

Comments

@dhiaayachi
Copy link
Owner

Expected Behavior

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

  • On workflow reset, signal got picked to the new run together with corresponding signal requestID so that dedup can still work.

Actual Behavior

  • After reset, signal event got picked but not signal request ID.

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

  • Version: master
  • Platform:
@dhiaayachi
Copy link
Owner Author

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

  • Please clarify if you are using the Go SDK or another SDK.

@dhiaayachi
Copy link
Owner Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant