DurableTaskStorageException: Value for one of the query parameters specified in the request URI is invalid
See original GitHub issueWe 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=−1
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, Func3 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 here, the value of the messagettl param should always be -1 (as we are not using NET462). And looking at storage client code, it should append it.
Any help to resolve this issue would be appreciated.
Issue Analytics
- State:
- Created a year ago
- Comments:9 (1 by maintainers)
Top GitHub Comments
Hi @davidmrdavid, I simply making this assumption because the call made to storage dataplane has a single query parameter: https://mystorage.queue.core.windows.net:443/devcenterjobs-control-00/messages?messagettl=−1
I believe it is addressed in the newer SDKs.
As for working around this in existing - two things to check:
@cgillum, I think the SDK upgrade will warrant a major version rev. We may want to consider fixing this in the existing version, just in case the migration from DurableTask.AzureStorage v1 to v2 is not frictionless and some customers are blocked. They may still benefit from this fix in v1. Not saying that is the case, but something to consider.