Skip to content

Failed functions don't return "Output" in StatusQueryGetURL #287

@andystaples

Description

@andystaples

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:

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Priority 2

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions