microsoft / DurableFunctionsMonitor

A monitoring/debugging UI tool for Azure Durable Functions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Load failed. One or more errors occurred. (The taskhub has an incompatible storage format)

kvattikuti opened this issue · comments

I am trying to use DFM to view orchestrations. I am on Netherite storage type. It works fine for local but fails when trying to view orchestrations on Azure. This wasn't an issue with regular storage type, just Netherite specific. Both VS Code extension and running DFM locally as described in https://github.com/microsoft/DurableFunctionsMonitor/tree/main/custom-backends/netherite show same behavior.

When I hit the http://localhost:7072/, it shows "Select your Task Hub" indicating it is able to get list of taskhubs. But once I select the taskhubit shows this error: "Load failed. One or more errors occurred. (The taskhub has an incompatible storage format)".

Looking for any suggestions to resolve this.

My host and local settings are as follows:

{
  "version": "2.0",
  "extensions": {
    "http": {
      "routePrefix": ""
    },
    "durableTask": {
      "hubName": "TolerancePocTaskHub",
      "storageProvider": {
        "type": "netherite",
        "StorageConnectionName": "AzureWebJobsStorage",
        "EventHubsConnectionName": "EventHubsConnection",
        "PartitionManagement": "ClientOnly"
      }
    }
  }
}
{
  "IsEncrypted": false,
  "Values": {
    "DFM_NONCE": "i_sure_know_what_i_am_doing",
    "EventHubsConnection": "Endpoint=sb://dev-tolerancing-poc-eh-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=*****************", 
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=devtolerancingpocsa;AccountKey=***************;EndpointSuffix=core.windows.net", 
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "AzureWebJobsSecretStorageType": "files"
  },
  "Host": {
    "LocalHttpPort": 7072
  }
}

@kvattikuti , which version of Microsoft.Azure.DurableTask.Netherite.AzureFunctions package your real app (the one that handles orchestrations in that storage account) is using?

I am using the following nugets:

<PackageReference Include="Microsoft.Azure.DurableTask.Netherite.AzureFunctions" Version="1.4.1" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.13.0" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.2.0" />

DfMon's custom backend currently uses Microsoft.Azure.DurableTask.Netherite.AzureFunctions v1.3.5 .

Can you try to bump up the version in its CSPROJ file here and see if it helps?

Thank you, yes updating it to 1.4.1 seems to have resolved that error. I get this now:

DFM failed
Microsoft.Azure.Amqp: An existing connection was forcibly closed by the remote host.

I got this working after adding TransportType=AmqpWebSockets to EH connection string. Thanks for helping out.