Azure / Azure/durabletask

Infrastructure exceptions in TaskActivityExceptions are not properly serialized

Offen
#508 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C#
Sterne
1.7k
Forks
335
Ø Merge
2 T. 23 Std.
Gemergte PRs (30 T.)
6

Beschreibung

As pointed out by @robs in [this Durable Functions issue](https://github.com/Azure/azure-functions-durable-extension/issues/697), this [catch block](https://github.com/Azure/durabletask/blob/main/src/DurableTask.Core/TaskActivityDispatcher.cs#L172) sets the details to be more of an error message rather than a serialized exception, resulting in a `TaskFailedExceptionDeserializationException` in the orchestrator function. This is very miselading.

Fixing this to properly serialize the original exception thrown by the infrastructure could debatably be considered a breaking change, as customers may be taking a dependency on `TaskFailedExceptionDeserializationException` being thrown, but it feels more like a bug fix.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, src/DurableTask.Core/TaskActivityDispatcher.cs in der Nähe von Zeile 172 und das verknüpfte Durable Functions issue zu lesen; verfolge, wie der catch-Block TaskActivityExceptions befüllt. Als erledigt gilt die Aufgabe, wenn die ursprüngliche Infrastruktur-Ausnahme ordnungsgemäß serialisiert wird, sodass der Orchestrator nicht länger TaskFailedExceptionDeserializationException erhält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
distributed-systems
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.