-
Notifications
You must be signed in to change notification settings - Fork 34
Failed functions don't return "Output" in StatusQueryGetURL #287
Copy link
Copy link
Open
Labels
P2Priority 2Priority 2
Description
Symptom: In Azure Functions/v4/dotnet-isolated, if an orchestrator fails with an uncaught exception, the StatusQueryGetURI returns no value for "output" - compare with Azure Storage backend which returns the exception details.
Pretty sure this is due to this logic:
durabletask-mssql/src/DurableTask.SqlServer/SqlUtils.cs
Lines 274 to 286 in 7843abe
| string? rawOutput = GetStringOrNull(reader, reader.GetOrdinal("OutputText")); | |
| if (rawOutput != null) | |
| { | |
| if (state.OrchestrationStatus == OrchestrationStatus.Failed && | |
| DTUtils.TryDeserializeFailureDetails(rawOutput, out FailureDetails? failureDetails)) | |
| { | |
| state.FailureDetails = failureDetails; | |
| } | |
| else | |
| { | |
| state.Output = rawOutput; | |
| } | |
| } |
Which sets the value of output only if the function didn't fail, but sets the exception details to state.FailureDetails in the failure case.
Evaluate whether a change is needed here, to match the Azure Storage backend behavior, or in the durable extensions.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P2Priority 2Priority 2