Does removing sleep times from workflow code result in Non-Determinism?

Docs here mention that changing timer to 0 might, but is that true if I just remove await sleep() ?

Is there a way to test this?

Hi @manishg

Yes, removing await sleep() will cause non-deterministic error.

Is there a way to test this?

Yes, workflow replayer will help to test it TypeScript SDK developer's guide - Testing | Temporal Documentation

Instead of removing the timer, you can patch your workflow code TypeScript SDK developer's guide - Versioning | Temporal Documentation to make the change compatible with running/completed workflows.

Antonio

1 Like

Removing the timer completely will result in non deterministic behavior and requires a patch but changing the timer duration doesn’t.
Note that some SDKs ignore 0 timers so changing from non zero to zero will cause non deterministic errors but not TypesScript.

1 Like

Thanks for your replies and pointers! @antonio.perez @bergundy