Azure / Azure/durabletask

DurableTaskStorageException: Value for one of the query parameters specified in the request URI is invalid

Abierto
#809 9 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C#
Estrellas
1.7k
Forks
335
Merge medio
2 d 23 h
PR fusionados (30 d)
6

Descripción

We are running in an issue with DTFx. Sometimes (and only in one region where our service is running - WestEurope), when enqueuing a queue message to start an orchestration, the queueing fails because of a bad parameter in the query string.

Sample query:
https://mystorage.queue.core.windows.net:443/devcenterjobs-control-00/messages?messagettl=%E2%88%921

Error and stacktrace:

> DurableTask.AzureStorage.Storage.DurableTaskStorageException: Value for one of the query parameters specified in the request URI is invalid.
> ---> Microsoft.WindowsAzure.Storage.StorageException: Value for one of the query parameters specified in the request URI is invalid.
> at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteAsyncInternal[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
> at DurableTask.AzureStorage.Storage.AzureStorageClient.WrapFunctionWithReturnType(Func`3 storageRequest, OperationContext context, CancellationToken cancellationToken) in /_/src/DurableTask.AzureStorage/Storage/AzureStorageClient.cs:line 158
> at DurableTask.AzureStorage.TimeoutHandler.ExecuteWithTimeout[T](String operationName, String account, AzureStorageOrchestrationServiceSettings settings, Func`3 operation, AzureStorageOrchestrationServiceStats stats, String clientRequestId)
> at DurableTask.AzureStorage.Storage.AzureStorageClient.MakeStorageRequest[T](Func`3 storageRequest, String accountName, String operationName, String clientRequestId, Boolean force) in /_/src/DurableTask.AzureStorage/Storage/AzureStorageClient.cs:line 149

Looking at the [code](https://github.com/Azure/durabletask/blob/eada7c1b64ea41edc78eb37133df46aefe294c1d/src/DurableTask.AzureStorage/Storage/Queue.cs#:~:text=TimeSpan%3F%20timeToLive,%23endif) here, the value of the messagettl param should always be -1 (as we are not using NET462). And looking at storage client [code](https://github.com/Azure/azure-storage-net/blob/cbe605f9faa01bfc3003d75fc5a16b2eaccfe102/Lib/ClassLibraryCommon/Queue/Protocol/QueueHttpRequestMessageFactory.cs#L187:~:text=public%20static%20StorageRequestMessage%20AddMessage,%7D), it should append it.

Any help to resolve this issue would be appreciated.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza con src/DurableTask.AzureStorage/Storage/Queue.cs y rastrea cómo se pasa messagettl a Azure Storage's QueueHttpRequestMessageFactory.cs. Usa el fallo notificado en WestEurope y la URI de ejemplo para investigar por qué el parámetro se vuelve no válido y, después, verifica que los mensajes de la cola se puedan poner en cola sin el valor de consulta mal formado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
azure, csharp
Área
backend, cloud
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.