Compile-time detection of non-determinism in Durable Functions orchestrators #3325
kokosda
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Durable Functions team,
Non-determinism in orchestrator code is something I’ve repeatedly seen surface only at runtime - often after deployment - even when the code passed review.
Typical examples include DateTime usage, async calls outside activity boundaries, or other subtle sources of non-deterministic behavior.
To mitigate this earlier in the lifecycle, I implemented a Roslyn-based static analyzer that inspects Durable Functions orchestrator code at build time and flags common non-deterministic patterns. The analyzer is used to catch these issues before deployment.
I’d be very interested in the maintainers’ perspective:
Appreciate any thoughts or guidance from your experience maintaining Durable Functions.
(For context: https://github.com/kokosda/dtf-determinism-analyzer)
Beta Was this translation helpful? Give feedback.
All reactions