Azure / azure-functions-host

The host/runtime that powers Azure Functions
https://functions.azure.com
MIT License
1.92k stars 442 forks source link

Azure Durable Functions System.Threading.Tasks.TaskCanceledException #4150

Open lansal15 opened 5 years ago

lansal15 commented 5 years ago

Used the template code from Visual Studio for an Azure Durable Function

Investigative information

Steps to reproduce the behavior: Run project under local development and invoke http orchestration trigger curl -X GET \ http://localhost:7071/api/Function1_HttpStart

I am able to provide the entire project upon request

Expected behavior Successful operation with zero exceptions

Actual behavior Successful operation with ~20+ Exceptions Exception thrown: 'System.Threading.Tasks.TaskCanceledException' in System.Private.CoreLib.dll Exception thrown: 'System.Threading.Tasks.TaskCanceledException' in System.Private.CoreLib.dll Exception thrown: 'System.Threading.Tasks.TaskCanceledException' in System.Private.CoreLib.dll Exception thrown: 'System.Threading.Tasks.TaskCanceledException' in System.Private.CoreLib.dll Exception thrown: 'System.Threading.Tasks.TaskCanceledException' in System.Private.CoreLib.dll Exception thrown: 'System.Threading.Tasks.TaskCanceledException' in System.Private.CoreLib.dll Exception thrown: 'System.Threading.Tasks.TaskCanceledException' in System.Private.CoreLib.dll Exception thrown: 'System.Threading.Tasks.TaskCanceledException' in System.Private.CoreLib.dll

Screenshots If applicable, add screenshots to help explain your problem.

Additional context

cgillum commented 5 years ago

These are first-chance exceptions which come from the Azure Functions runtime and are caught by the Azure Functions runtime. I agree they are not ideal, but unfortunately there's nothing our extension can do about them. Every function execution will hit this. Durable just hits it more because of the function replay.

The code where this comes from (and where it is caught) can be found here.

I'll go ahead and transfer this over to the correct repo.