Clarifying understanding of determinsim

Just a question to clarify my understanding of how the event history is replayed.

If i do something like uuid.NewString() in a workflow, i know I am breaking determinism and it should be done through a side-effect. But just wondering what are the consequences if all i do is pass it into an activity? It shouldn’t break replay-ability because changing the activity inputs/outputs doesnt break determinism from my understanding and none of the workflow logic depends on this non-deterministic value

You are correct; this is not going to break determinism. I still wouldn’t recommend relying on this behavior as someone in the future might use this value for something else.

1 Like