Skip to content

Azure Durable Isolated Function - PurgeAllInstancesAsync #224

@CGSK

Description

@CGSK

Calling DurableTaskClient.PurgeAllInstancesAsync throws Grpc.Core.RpcException.

We wanted to have a seamless purge all experience between Azure Storage & SQL Durable Providers.

We do not want to use DurableTaskClient.Purgexxx for AzureStorage & write a SQL store proc call (PurgeInstanceStateByTime) for SQL provider.

LOGS:
[2024-05-30T21:05:52.187Z] Function 'PurgeDurableFunctionsHistory', Invocation id '181eb69c-f632-426d-9a7e-cef38b335400': An exception was thrown by the invocation.
[2024-05-30T21:05:52.189Z] Result: Function 'PurgeDurableFunctionsHistory', Invocation id '181eb69c-f632-426d-9a7e-cef38b335400': An exception was thrown by the invocation.
Exception: Grpc.Core.RpcException: Status(StatusCode="Unknown", Detail="Exception was thrown by handler.")
[2024-05-30T21:05:52.190Z] at Microsoft.DurableTask.Client.Grpc.GrpcDurableTaskClient.PurgeInstancesCoreAsync(PurgeInstancesRequest request, CancellationToken cancellation)
[2024-05-30T21:05:52.194Z] at FirstIsoFuncApp.Function1.PurgeDurableFunctionsHistoryAsync(TimerInfo myTimer, DurableTaskClient client, CancellationToken cancellationToken) in C:\code\FirstIsoFuncApp\Function1.cs:line 122
[2024-05-30T21:05:52.196Z] at FirstIsoFuncApp.DirectFunctionExecutor.ExecuteAsync(FunctionContext context) in C:\code\FirstIsoFuncApp\obj\Debug\net8.0\Microsoft.Azure.Functions.Worker.Sdk.Generators\Microsoft.Azure.Functions.Worker.Sdk.Generators.FunctionExecutorGenerator\GeneratedFunctionExecutor.g.cs:line 51
[2024-05-30T21:05:52.197Z] at Microsoft.Azure.Functions.Worker.OutputBindings.OutputBindingsMiddleware.Invoke(FunctionContext context, FunctionExecutionDelegate next) in D:\a_work\1\s\src\DotNetWorker.Core\OutputBindings\OutputBindingsMiddleware.cs:line 13
[2024-05-30T21:05:52.198Z] at Microsoft.Azure.Functions.Worker.FunctionsApplication.InvokeFunctionAsync(FunctionContext context) in D:\a_work\1\s\src\DotNetWorker.Core\FunctionsApplication.cs:line 89
Stack: at Microsoft.DurableTask.Client.Grpc.GrpcDurableTaskClient.PurgeInstancesCoreAsync(PurgeInstancesRequest request, CancellationToken cancellation)
[2024-05-30T21:05:52.199Z] at FirstIsoFuncApp.Function1.PurgeDurableFunctionsHistoryAsync(TimerInfo myTimer, DurableTaskClient client, CancellationToken cancellationToken) in C:\code\FirstIsoFuncApp\Function1.cs:line 122
[2024-05-30T21:05:52.200Z] at FirstIsoFuncApp.DirectFunctionExecutor.ExecuteAsync(FunctionContext context) in C:\code\FirstIsoFuncApp\obj\Debug\net8.0\Microsoft.Azure.Functions.Worker.Sdk.Generators\Microsoft.Azure.Functions.Worker.Sdk.Generators.FunctionExecutorGenerator\GeneratedFunctionExecutor.g.cs:line 51
[2024-05-30T21:05:52.201Z] at Microsoft.Azure.Functions.Worker.OutputBindings.OutputBindingsMiddleware.Invoke(FunctionContext context, FunctionExecutionDelegate next) in D:\a_work\1\s\src\DotNetWorker.Core\OutputBindings\OutputBindingsMiddleware.cs:line 13
[2024-05-30T21:05:52.202Z] at Microsoft.Azure.Functions.Worker.FunctionsApplication.InvokeFunctionAsync(FunctionContext context) in D:\a_work\1\s\src\DotNetWorker.Core\FunctionsApplication.cs:line 89.
[2024-05-30T21:05:52.227Z] Executed 'Functions.PurgeDurableFunctionsHistory' (Failed, Id=181eb69c-f632-426d-9a7e-cef38b335400, Duration=238ms)
[2024-05-30T21:05:52.229Z] System.Private.CoreLib: Exception while executing function: Functions.PurgeDurableFunctionsHistory. System.Private.CoreLib: Result: Failure
Exception: Grpc.Core.RpcException: Status(StatusCode="Unknown", Detail="Exception was thrown by handler.")
[2024-05-30T21:05:52.229Z] at Microsoft.DurableTask.Client.Grpc.GrpcDurableTaskClient.PurgeInstancesCoreAsync(PurgeInstancesRequest request, CancellationToken cancellation)
[2024-05-30T21:05:52.230Z] at FirstIsoFuncApp.Function1.PurgeDurableFunctionsHistoryAsync(TimerInfo myTimer, DurableTaskClient client, CancellationToken cancellationToken) in C:\code\FirstIsoFuncApp\Function1.cs:line 122
[2024-05-30T21:05:52.231Z] at FirstIsoFuncApp.DirectFunctionExecutor.ExecuteAsync(FunctionContext context) in C:\code\FirstIsoFuncApp\obj\Debug\net8.0\Microsoft.Azure.Functions.Worker.Sdk.Generators\Microsoft.Azure.Functions.Worker.Sdk.Generators.FunctionExecutorGenerator\GeneratedFunctionExecutor.g.cs:line 51
[2024-05-30T21:05:52.232Z] at Microsoft.Azure.Functions.Worker.OutputBindings.OutputBindingsMiddleware.Invoke(FunctionContext context, FunctionExecutionDelegate next) in D:\a_work\1\s\src\DotNetWorker.Core\OutputBindings\OutputBindingsMiddleware.cs:line 13
[2024-05-30T21:05:52.233Z] at Microsoft.Azure.Functions.Worker.FunctionsApplication.InvokeFunctionAsync(FunctionContext context) in D:\a_work\1\s\src\DotNetWorker.Core\FunctionsApplication.cs:line 89
[2024-05-30T21:05:52.234Z] at Microsoft.Azure.Functions.Worker.Handlers.InvocationHandler.InvokeAsync(InvocationRequest request) in D:\a_work\1\s\src\DotNetWorker.Grpc\Handlers\InvocationHandler.cs:line 88
Stack: at Microsoft.DurableTask.Client.Grpc.GrpcDurableTaskClient.PurgeInstancesCoreAsync(PurgeInstancesRequest request, CancellationToken cancellation)
[2024-05-30T21:05:52.235Z] at FirstIsoFuncApp.Function1.PurgeDurableFunctionsHistoryAsync(TimerInfo myTimer, DurableTaskClient client, CancellationToken cancellationToken) in C:\code\FirstIsoFuncApp\Function1.cs:line 122
[2024-05-30T21:05:52.240Z] at FirstIsoFuncApp.DirectFunctionExecutor.ExecuteAsync(FunctionContext context) in C:\code\FirstIsoFuncApp\obj\Debug\net8.0\Microsoft.Azure.Functions.Worker.Sdk.Generators\Microsoft.Azure.Functions.Worker.Sdk.Generators.FunctionExecutorGenerator\GeneratedFunctionExecutor.g.cs:line 51
[2024-05-30T21:05:52.242Z] at Microsoft.Azure.Functions.Worker.OutputBindings.OutputBindingsMiddleware.Invoke(FunctionContext context, FunctionExecutionDelegate next) in D:\a_work\1\s\src\DotNetWorker.Core\OutputBindings\OutputBindingsMiddleware.cs:line 13
[2024-05-30T21:05:52.243Z] at Microsoft.Azure.Functions.Worker.FunctionsApplication.InvokeFunctionAsync(FunctionContext context) in D:\a_work\1\s\src\DotNetWorker.Core\FunctionsApplication.cs:line 89
[2024-05-30T21:05:52.245Z] at Microsoft.Azure.Functions.Worker.Handlers.InvocationHandler.InvokeAsync(InvocationRequest request) in D:\a_work\1\s\src\DotNetWorker.Grpc\Handlers\InvocationHandler.cs:line 88.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Priority 1

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions