-
Notifications
You must be signed in to change notification settings - Fork 234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Azure storage returns empty <Blobs> element #329
Comments
@petr-tichy Could you provide an example of how to create this condition? Do you just list an empty Azure subdirectory? |
Well, that is a good question. Unfortunately I'm not yet certain why this happens. I'm unable to replicate this behavior manually with a test account. The reason could be anything from Azure slowing down clients, trying to resolve some consistency issues, or simply a bug or undocumented feature. Accessing our account with other native tools shows no problems, while these seem to handle this gracefully (see below) We are running FoundationDB backup thru s3proxy to Azure Blob Storage. After the backup was continuously running for several weeks, creating few snapshots, we tried to start expiration and hit this situation. The storage container has currently about 1.4M blobs. When describing the backups using
This prefix currently contains just 8 blobs, but Azure responds first with an empty Blobs and a marker:
Using Azure Storage Blobs client library for Python - Version 12.4.0 to list the prefix, I see it really performs two requests. The first response contains the empty
The code that generated this is:
|
After some testing it looks like the fix in #326 is not sufficient. Sending a response to s3 client with neither
CommonPrefixes
norContents
elements is not expected, at least bys3cmd
and our backup tool. I suspect that s3proxy would have to handle this internally, issuing the next request(s) and returning it to the client only when it finally contains eitherCommonPrefixes
orContents
s3cmd
fails withOriginally posted by @petr-tichy in #326 (comment)
The text was updated successfully, but these errors were encountered: