Azure / Azure/durabletask

Use of TypeNameHandling.All causes JsonReaderException

Ouverte
#1,007 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C#
Étoiles
1.7k
Forks
335
Merge moyen
2 j 23 h
PR mergées (30 j)
6

Description

### Description
When using TypeNameHandling.All on our serialization settings for dtfx, we receive the following exception:

```
Handler: Exception: Orchestration execution failed due to unhandled exception. : Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: U. Path '', line 0, position 0.

[TaskFailedException]: Error reading JArray from JsonReader. Current JsonReader item is not an array: StartObject. Path '', line 1, position 1.
[TaskFailedExceptionDeserializationException]: Failed to deserialize exception from TaskActivity: Unhandled exception while executing task: Newtonsoft.Json.JsonReaderException: Error reading JArray from JsonReader. Current JsonReader item is not an array: StartObject. Path '', line 1, position 1.
at Newtonsoft.Json.Linq.JArray.Load(JsonReader reader, JsonLoadSettings settings)
at DurableTask.Core.Common.Utils.ConvertToJArray(String input) in /_/src/DurableTask.Core/Common/Utils.cs:line 210
at DurableTask.Core.AsyncTaskActivity`2.RunAsync(TaskContext context, String input) in /_/src/DurableTask.Core/TaskActivity.cs:line 107
at DurableTask.Core.TaskActivityDispatcher.<>c__DisplayClass14_1.<b__2>d.MoveNext() in /_/src/DurableTask.Core/TaskActivityDispatcher.cs:line 189
```

It looks like this was previously resolved for the Azure Functions durable extensions package https://github.com/Azure/azure-functions-durable-extension/pull/1392 which looks very similar to the TaskActivity code that's throwing here: https://github.com/Azure/durabletask/blob/6f902190fcf7f14d42b07e940f516e47525dbc18/src/DurableTask.Core/TaskActivity.cs#L107.

### Expected behavior
TypeNameHandling.All works and serializes properly.

### Actual behavior
The framework throws the exception above.

### App Details

- **Durable task package version (e.g. v1.8.3)**: 2.13.0

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez à src/DurableTask.Core/TaskActivity.cs, ligne 107, où l’entrée de l’activité est traitée, et comparez-la avec le correctif de durable-functions lié dans l’issue. Examinez Common/Utils.cs, ligne 210, et vérifiez que TypeNameHandling.All ne provoque plus la JsonReaderException signalée ni l’échec d’analyse de JArray. Ajoutez une couverture de régression pour les paramètres de sérialisation si la structure de tests existante le permet.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp
Domaine
distributed-systems
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.