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

Add test framework for partial json history replay and continuing of execution #811

Open
Spikhalskiy opened this issue Oct 11, 2021 · 0 comments
Labels
enhancement User experience

Comments

@Spikhalskiy
Copy link
Contributor

Is your feature request related to a problem? Please describe.
We have a framework that allows launching workflows from scratch.
We also have a way to make a full history replay using query functionality. See WorkflowReplayer that falls back to worker.queryWorkflowExecution(history, WorkflowClient.QUERY_TYPE_REPLAY_ONLY, ...)
We don't have a way to make a replay of a partial json history and continue the execution (aka restoring from a failure).
It's supported for our state machines testing framework, but not for workflow integration testing framework.
Which limits what kind of state machines permutation we can cover with functional tests and limits our ability to test replayability by itself.

Describe the solution you'd like
Add an ability for our TestService to load a partial workflow history from a json, restore a workflow mutable state from it and dispatch workflow tasks to continue execution on a worker simulating restoring after a failure or after a worker cache eviction.

Describe alternatives you've considered
Alternatively, to get the same result in the test, we can simulate a failure the first time at the place in a workflow we want to get a replay to. But this is a hacky way to achieve to goal and also it doesn't allow us to test compatibility with histories produced in older versions of SDKs.
Alternatively, we can continue to don't have tests covering continue execution after a partial replay.

@Spikhalskiy Spikhalskiy added the enhancement User experience label Oct 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement User experience
Projects
None yet
Development

No branches or pull requests

1 participant