Make UpdateRandomSeed jobs come after start workflow, but before everything else.
Why?
These could technically have consequences for later actions, and should go first. It's intuitive.
The more delicate change here is actually sorting StartWorkflow before other stuff, which also seems intuitive, but a number of tests at least in core had some expectations around updates being able to come first. Frankly, that doesn't make a ton of sense, and I don't really expect this move to be any kind of real issue, but it might require some changes to langs that are using StartWorkflow as a synonym for "do first iteration of the event loop"? If such changes are needed, they should be the ones described here: https://github.com/temporalio/sdk-python/issues/606 (.NET may need an equivalent item) as none of these problems exist if all jobs are all read and applied to state first, before doing any iterating of the event loop.
What was changed
Make
UpdateRandomSeed
jobs come after start workflow, but before everything else.Why?
These could technically have consequences for later actions, and should go first. It's intuitive.
The more delicate change here is actually sorting
StartWorkflow
before other stuff, which also seems intuitive, but a number of tests at least in core had some expectations around updates being able to come first. Frankly, that doesn't make a ton of sense, and I don't really expect this move to be any kind of real issue, but it might require some changes to langs that are usingStartWorkflow
as a synonym for "do first iteration of the event loop"? If such changes are needed, they should be the ones described here: https://github.com/temporalio/sdk-python/issues/606 (.NET may need an equivalent item) as none of these problems exist if all jobs are all read and applied to state first, before doing any iterating of the event loop.Checklist
Closes https://github.com/temporalio/sdk-core/issues/790
How was this tested: Updated existing tests
Any docs updates needed?