Details

      Description

      When using a BlobStore configured for the 'aws-s3' provider and with an explicit region ('eu-west-1' in this case), BlobStore.createContainerInLocation(Location location, String container) fails with a 400 when attempting to create an already existing bucket on that location.

      The error message from AWS claims the cause to be AuthorizationHeaderMalformed, and says that 'eu-west-1' was expected, but that 'us-east-1' was supplied in the PUT request.

      I have confirmed that 'eu-west-1' is, in fact, given to the method call, but it does not seem to be respected when forming and signing the request.

      This does not happen on 1.9.x.

      From the debugging i have done a likely culprit seems to be Aws4SignerForAuthorizationHeader which resolves a ServiceAndRegion instance, which in turn seem to attempt parsing the region from the hostname URL (AWSHostNameUtils.parseRegionName(..)). I cannot see the region set for the provider being respected in this case.

        Attachments

          Activity

            People

            • Assignee:
              timuralp Timur Alperovich
              Reporter:
              halvdanhg Halvdan Hoem Grelland
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: