-
Notifications
You must be signed in to change notification settings - Fork 27
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
[Bug] Workflow Update hangs on time skipping environment #179
Comments
I have replicated and we have an outstanding issue in the Java SDK (where our time-skipping test server implementation lives): temporalio/sdk-java#1903. Updates are experimental/unstable currently, but in the meantime you should be able to use a normal local server if you must use them and need to test them. I will leave this issue open pending a fix. |
Good to know, thanks! BTW is there any issue to track progress on workflow updates? If I'm not mistaken it seems like this is not sdk-related and the server implementation is actually experimental for the time being. I thought signals would handle concurrent ops but turns out I had to use updates for this. The workaround is to use a combination of query/signal but I'm not comfortable doing that because the logic would be outside of the workflow itself and that would be hard to reason about. |
I am not aware of an issue to track this. You can see the status at the top of https://docs.temporal.io/workflows#update.
Signals can handle concurrent pieces, they just don't have results to return
There's also an advanced approach to "push" results to activity workers hosted by the caller. See https://github.com/temporalio/samples-go/tree/main/reqrespactivity for a description of the pattern. |
Right, I was confused by "asynchronous" mentioned in the docs. I supposed that means we don't wait for the signal method to complete on the client side, however the call itself is synchronized inside the workflow. Just one more question, where do we expect the signal to be received by the workflow? If I had to guess, between each Context: I'm trying to handle a concurrent timeout and signal using |
This is deviating from the issue and it may be better for a discussion place like the #dotnet-sdk channel in https://t.mp/slack or our forums. Yes, signals are received from server at potentially any yield point. Yes, most users simply set a class field from their signal and have their |
What are you really trying to do?
Describe the bug
Minimal Reproduction
Environment/Versions
Additional context
The text was updated successfully, but these errors were encountered: