Azure / Azure/durabletask

Infrastructure exceptions in TaskActivityExceptions are not properly serialized

Aperta
#508 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C#
Stelle
1.7k
Fork
335
Merge medio
2g 23h
PR unite (30g)
6

Descrizione

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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia leggendo src/DurableTask.Core/TaskActivityDispatcher.cs intorno alla riga 172 e l’issue collegata di Durable Functions; segui il modo in cui il blocco catch popola TaskActivityExceptions. Il lavoro è completo quando l’eccezione dell’infrastruttura originale viene serializzata correttamente, così l’orchestrator non riceve più TaskFailedExceptionDeserializationException.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp
Ambito
distributed-systems
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.