Skip to content
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

Fix Azure blobstore error instantiating AzureClient #1298

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,13 @@ public AzureClient(AzureBlobStoreData configuration) throws StorageException {
this.container = serviceURL.createContainerURL(containerName);
// no way to see if the containerURL already exists, try to create and see if
// we get a 409 CONFLICT
int status;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested interactively, I can't get the code to throw an exception? Different azure container setup maybe? Or a difference in dependencies?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My first thought was it would be a difference in dependencies, tried everything I could think of, but the only thing that worked was reverting gwc 1.26-SNAPSHOT to 1.25-SNAPSHOT.
So I debugged both and saw the difference, the patch is not in the 1.25.x branch.
BTW the exception happens against the Azurite test container when running integration tests in gscloud

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok so you confirm the issue is not happening against an actual Azure storage, but the Azurite test container. Would be nice if the title was clear about it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, I actually confirm the issue happens both with Azure and Azurite. The only difference is you may be always running the tests against an Azure container that already exists, whereas the Azurite test has to create it.
If you try a container name that does not exist in Azure you should get the same error.

try {
status = this.container.getProperties().blockingGet().statusCode();
} catch (com.microsoft.azure.storage.blob.StorageException se) {
status = se.statusCode();
}
try {
int status = this.container.getProperties().blockingGet().statusCode();
if (status == HttpStatus.NOT_FOUND.value()) {
status = this.container.create(null, null, null).blockingGet().statusCode();
if (!HttpStatus.valueOf(status).is2xxSuccessful()
Expand Down
Loading