[BUG] FindBlobsByTagsAsync() using BlobContainerClient keeps running till timeout
See original GitHub issueLibrary name and version
Azure.Storage.Blobs 12.11.0
Describe the bug
FindBlobsByTagsAsync() using BlobContainerClient does not return any results. (ref : https://docs.microsoft.com/en-us/dotnet/api/azure.storage.blobs.blobcontainerclient.findblobsbytagsasync?view=azure-dotnet) This keeps running for a while and times out.
I am using the same expression with FindBlobsByTagsAsync() using BlobServiceClient and it works perfectly fine. I also tried using @container attribute in the sqlExpression to point to the same container and that also works fine.
Unable to figure out what is wrong when using FindBlobsByTagsAsync() with BlobContainerClient
Expected behavior
Expecting FindBlobsByTagsAsync() using BlobContainerClient to behave same as FindBlobsByTagsAsync() using BlobServiceClient with @container attribute. It should return the blobs with tags as per sql expression
Actual behavior
The function keeps running for sometime and times out eventually giving the error : {“code”:“InternalServerError”,“details”:null,“message”:“Retry failed after 6 tries. Retry settings can be adjusted in ClientOptions.Retry. (The operation was cancelled because it exceeded the configured timeout of 0:01:40. Network timeout can be adjusted in ClientOptions.Retry.NetworkTimeout.) (The operation was cancelled because it exceeded the configured timeout of 0:01:40. Network timeout can be adjusted in ClientOptions.Retry.NetworkTimeout.) (The operation was cancelled because it exceeded the configured timeout of 0:01:40. Network timeout can be adjusted in ClientOptions.Retry.NetworkTimeout.) (The operation was cancelled because it exceeded the configured timeout of 0:01:40. Network timeout can be adjusted in ClientOptions.Retry.NetworkTimeout.) (The operation was cancelled because it exceeded the configured timeout of 0:01:40. Network timeout can be adjusted in ClientOptions.Retry.NetworkTimeout.) (An error occurred while sending the request.)”,“target”:null}
Reproduction Steps
`
var sqlExpression = $"\"{key}\"='{value}'";
// case 1 : using serviceClient - works fine
var tasks = new List<Task<T>>();
var sqlExpressionWithContianer = $"@container = '{containerName}' and {sqlExpression}";
await foreach (TaggedBlobItem taggedBlobItem in serviceClient.FindBlobsByTagsAsync(sqlExpressionWithContianer))
{
tasks.Add(GetItem<T>(taggedBlobItem.BlobName)); // get item from blobname
}
var results = await Task.WhenAll(tasks);
// case 2 : using containerClient - keeps running till timeout
var tasksNew = new List<Task<T>>();
await foreach (TaggedBlobItem taggedBlobItem in containerClient.FindBlobsByTagsAsync(sqlExpression))
{
tasksNew.Add(GetItem<T>(taggedBlobItem.BlobName)); // get item from blobname
}
var resultsNew = await Task.WhenAll(tasksNew);
`
Environment
net6.0 IDE and version : Visual Studio Enterprise 2022 (64-bit) - Current Version 17.1.1
Issue Analytics
- State:
- Created a year ago
- Reactions:1
- Comments:11 (3 by maintainers)
Top GitHub Comments
Hi everyone, this is a known issue in the service. A fix is rolling out, and this issue should stop reproducing in the next few weeks.
@seanmcc-msft, @navba-MSFT . Any updates about this issue? Is it solved or still pending?