-
Notifications
You must be signed in to change notification settings - Fork 220
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
Replay of Local Activities Executed by an Interceptor #828
Comments
Thanks for the report! At first glance I agree, this should not error. I will investigate. |
Ok, I believe I see the problem here. The replayer does not run interceptors. I will add |
I'm getting apparently the same panic with Go SDK 1.14.1. The ambient situation is different from the original report. I can't reconstruct it properly from the logs, but I guess some workflow instance was re-hydrated from scratch (i.e. from the recorded events) in a plain worker process. However, I can't guarantee that the (interpreted) workflow code is indeed identical to the original one which created the event stream.
(slightly formatted for better readability) Sorry @cretz, I don't understand your last comment: Is it something I can investigate/change myself or is it about some possible SDK or temporal-server change? Regarding missing interceptors in the replayer: does such a change also affect re-hydration of ordinary workflow execution state or only the replays for tests and debugging? Thanks, Martin. PS: looking at the gist above, interceptors seem to be some user extensibility points as they are added to the options struct. I'm pretty sure that my worker code won't add such interceptors. |
The error you received commonly occurs if you have non-determinism. See https://community.temporal.io/t/go-sdk-troubleshooting. This issue just happens to share that same stack trace because it appears non-deterministic due to a replayer issue. |
Yes, I see: It's indeed the best explanation as we are working on implementations currently. I just was distracted by the nearly identical stack trace and no one mentioning non-determinism in this ticket. Sorry, my bad, and thank you very much. |
Expected Behavior
Workflows replayed on the same version of a worker should not panic.
Actual Behavior
When replaying a workflow that contains a local activity called by an interceptor, the replay panics. This occurs when replaying on the same worker, or a copy of the worker on a different task queue.
Steps to Reproduce the Problem
Here is a gist with a test case that demonstrates the error.
Sample error output from running the test:
Specifications
The text was updated successfully, but these errors were encountered: