-
Notifications
You must be signed in to change notification settings - Fork 282
Open
Labels
P2Priority 2Priority 2
Description
Description
As part of an orchestration migration, we decided to check out orchestraiton versioning framework.
We introduced version guards to allow both old and new workflows, and configured host.json to now issue a default version.
Expected behavior
All orchestrations started by executors after the code delpoyment should have new default version assigned (and execute new code path.
Actual behavior
The orchestration scheduled from entity seems to have no version (and it is the one where we introduced version-based migration). All child orcehstrations, however, have version assigned as expected.
Part of host.json
"durableTask": {
"hubName": "TaskHub",
"tracing": {
"DistributedTracingEnabled": true,
"Version": "V2"
},
"defaultVersion": "2025-10-23"
}
Part of logic
// Scheduled from entity
[Function(nameof(ExecuteWorkload))]
public async Task Run([OrchestrationTrigger] TaskOrchestrationContext context, ExecutionContext input)
{
var logger = context.CreateReplaySafeLogger<ExecuteWorkload>();
var (tenantId, sessionId, executionScenario, version) = input;
// This should execute on fresh runners only, however, it is skipped
if (context.IsVersionEqualOrNewerThan(VersionManagement.V20251023))
{
version = await GetCurrentSnapshotVersion.CallActivity(context, tenantId);
}
var isSuccessful = true;
try
{
// This orchestration has version assigned to it
sessionId ??= await SpinUpSession.CallOrchestration(context, tenantId);
// etcApp Details
- Durable Functions extension version (e.g. v1.8.3):
Microsoft.Azure.Functions.Worker.Extensions.DurableTask v1.8.0 - Azure Functions runtime version (1.0 or 2.0): 2.0
- Programming language used: C#
Screenshots

jukkamasikainen
Metadata
Metadata
Assignees
Labels
P2Priority 2Priority 2