hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tom White (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (HADOOP-6734) Jets3tNativeFileSystemStore wrongly calls S3Service.createBucket during initialisation
Date Tue, 12 Apr 2011 22:18:05 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-6734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Tom White resolved HADOOP-6734.
-------------------------------

    Resolution: Duplicate

> Jets3tNativeFileSystemStore wrongly calls S3Service.createBucket during initialisation
> --------------------------------------------------------------------------------------
>
>                 Key: HADOOP-6734
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6734
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs/s3
>    Affects Versions: 0.18.3
>         Environment: S3 Europe
>            Reporter: Joni Niemi
>
> Reason: If a bucket is created with CreateBucketConfiguration specified, s3service.createBucket
will fail. 
> Symptoms: If a bucket has CreateBucketConfiguration, Jets3tNativeFileSystemStore will
fail with BucketAlreadyOwnedByYou Error.
> A detailed descrioption from a blog (http://john.keyes.ie/boto-create_bucket-bucketalreadyownedbyyou-error/)
> {quote}This evening I encountered a problem with it though. When the bucket did not exist,
the method behaved as expected. When the bucket did exist though I received the following
error response:
> {code}<?xml version="1.0" encoding="UTF-8"?>
> <Error>
>     <Code>BucketAlreadyOwnedByYou</Code>
>     <Message>
>         Your previous request to create the named 
>         bucket succeeded and you already own it.
>     </Message>
>     ...
> </Error>{code}
> This problem only manifests itself with buckets that are hosted in the EU. If the bucket
is created in the US then the create_bucket method behaves as described.
>     For buckets created with a <CreateBucketConfiguration>, you will receive an
error if you attempt to recreate the same bucket.
> To create a bucket in the EU, the bucket is created with a CreateBucketConfiguration
specified. I now use the following code to avoid the problem and it works for both US and
EU buckets.
> {code}
> def get_bucket():
>     try:
>         bucket = conn.get_bucket('xxx', validate=True)
>     except S3ResponseError, e:
>         if e.code == "NoSuchBucket":
>             bucket = conn.create_bucket('xxx', location='EU')
>         else:
>             raise e
>     return bucket
> {code}
> {quote}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message