You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Need a more formal way to test that history is compatible across SDK versions and will continue to be. Notes:
The features repo today has a concept of capturing history as a JSON file when it runs using --generate-history. This history, if present on future runs, will be replayed. For example, here's some captured history for Go/Java at https://github.com/temporalio/features/tree/main/features/activity/retry_on_error/history that is now tested on each features run. But this capture/replay is not supported in all languages and it doesn't make sense for every feature. We could expand use of this.
Some SDK tests, especially in Go and Java, have a decent amount of old histories they replay during unit testing. We could do this more in other SDKs.
The omes repo has a "fuzzer" that is capable of generating all sorts of workflow histories. This could be leveraged to generate thousands of histories to be run via replayer across newer SDK versions.
Some SDKs such as Python rely on standard library code to decide coroutines. There is a concern that newer language runtimes may affect things like coroutine order. So ideally any such replay testing also includes histories of workflows using asynchronous utilities from within the language that people use.
So long as the basic goal of confirming older histories are compatible on newer SDKs is accomplished, we can take one of several approaches.
The text was updated successfully, but these errors were encountered:
Need a more formal way to test that history is compatible across SDK versions and will continue to be. Notes:
features
repo today has a concept of capturing history as a JSON file when it runs using--generate-history
. This history, if present on future runs, will be replayed. For example, here's some captured history for Go/Java at https://github.com/temporalio/features/tree/main/features/activity/retry_on_error/history that is now tested on each features run. But this capture/replay is not supported in all languages and it doesn't make sense for every feature. We could expand use of this.omes
repo has a "fuzzer" that is capable of generating all sorts of workflow histories. This could be leveraged to generate thousands of histories to be run via replayer across newer SDK versions.So long as the basic goal of confirming older histories are compatible on newer SDKs is accomplished, we can take one of several approaches.
The text was updated successfully, but these errors were encountered: