Infrastructure exceptions in TaskActivityExceptions are not properly serialized
- 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