I had a sub-orchestration that had a return type of a custom enum, defined in a namespace. When the orchestration reached the call for this sub-orchestration, the function will hang until it times out. I believe this behavior is caused if an unserializable type is used as a return value for the suborchestration call.
Changing the return type of RunDataStorePipeline from the enum DataFactoryStatus to a string fixed the issue.
App Details
Durable Functions extension version (e.g. v1.8.3): v2.9.0
Azure Functions runtime version (1.0 or 2.0): 4.16.4.20366
Programming language used: C#
Screenshots
This snapshot will show where "Function_GetSetting" was called and completed, but "Orchestration_UpdateDataStores" never starts until the timeout is reached 30 minutes later.
If deployed to Azure
We have access to a lot of telemetry that can help with investigations. Please provide as much of the following information as you can to help us investigate!
If you don't want to share your Function App or storage account name GitHub, please at least share the orchestration instance ID. Otherwise it's extremely difficult to look up information.
Description
I had a sub-orchestration that had a return type of a custom enum, defined in a namespace. When the orchestration reached the call for this sub-orchestration, the function will hang until it times out. I believe this behavior is caused if an unserializable type is used as a return value for the suborchestration call.
Expected behavior
If an unsupported type is used in Suborchestration calls, it should be: Caught in analyzers. Throw an exception in runtime.
Actual behavior
Build completes without issues. Function app will hang until timeout.
Relevant source code snippets
Known workarounds
Changing the return type of RunDataStorePipeline from the enum DataFactoryStatus to a string fixed the issue.
App Details
Screenshots
This snapshot will show where "Function_GetSetting" was called and completed, but "Orchestration_UpdateDataStores" never starts until the timeout is reached 30 minutes later.
If deployed to Azure