microsoft / DurableFunctionsMonitor

A monitoring/debugging UI tool for Azure Durable Functions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DFM doesn't display FailureDetails for failed ActivityFunctions, if the orchestration runs in a .NET Isolated project

mronnblom-ith opened this issue · comments

Reproduce:

FunctionApp

  • Durable Function .Net 8 Isolated with ASP.NET Core Integration
  • One ActivityFunction fails with an exception
  • Config value EnableUserCodeException does not matter

DFM

  • DFM as VS Code extension, or stand-alone .Net 8 Isolated (without ASP.NET Core Integration)

Actual:

  • The "Result" column on the TaskFailed history item is blank. (input redacted)

image

Expected:

  • The "Result" column on the TaskFailed history item shows the "FailureDetails" column from the data store.
  • StackTrace is also shown
  • Text is pretty printed in the popup (newline most importantly). Not just the JSON, but also the "\r\n" in the StackTrace.

DFM in-process does this.

The reason for this is that in .NET Isolated version of Durable Functions they've changed the field name for storing those exception details in XXXHistory table.

Previously the field was called "Details", now as I can see, it is called "FailureDetails".

And the issue only surfaces for .NET Isolated orchestrations (older ones are displayed correctly).

Anyway, a small fix is needed in both DfMon InProc and DfMon Isolated, to make the history be fetched correctly.

Sorry for the delay @scale-tone. I can confirm that 6.5.0-beta1 fixes this issue.