You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Tom White (JIRA)" <ji...@apache.org> on 2010/04/29 18:29:54 UTC
[jira] Commented: (HADOOP-6734) Jets3tNativeFileSystemStore wrongly
calls S3Service.createBucket during initialisation
[ https://issues.apache.org/jira/browse/HADOOP-6734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862249#action_12862249 ]
Tom White commented on HADOOP-6734:
-----------------------------------
HADOOP-4422 removed bucket creation from S3 filesystems. Does this fix the problem for you?
> 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.
-
You can reply to this email to add a comment to the issue online.