[ 
https://issues.apache.org/jira/browse/HADOOP-3495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13088283#comment-13088283
 ] 

Ken Krugler commented on HADOOP-3495:
-------------------------------------

I just ran across this same problem, where a client created a bunch of S3 
buckets with underscores in the name.

The exact fix wasn't clear from my reading of Chris Wensel's comments on 
[HADOOP-930], but at least one required change is in S3Credentials.initialize, 
which currently has:

{code}
  public void initialize(URI uri, Configuration conf) {
    if (uri.getHost() == null) {
      throw new IllegalArgumentException("Invalid hostname in URI " + uri);
    }
{code}

uri.getAuthority will return the desired string - which could be checked for 
compliance with Amazon's stated restrictions:

{pre}
To comply with Amazon S3 requirements, bucket names must:

Contain lowercase letters, numbers, periods (.), underscores (_), and dashes (-)
Start with a number or letter
Be between 3 and 255 characters long
Not be similar to an IP address (e.g., "192.168.5.4")"
{pre}

But in general it seems like it would be better to let S3 report any problems, 
versus trying to embed their rules in the S3 code in Hadoop. Unless there's a 
goal of preventing the creation of buckets with invalid (or ill-advised?) 
names. As Amazon also says:

{pre}
To conform with DNS requirements, we recommend following these additional 
guidelines when creating buckets:

Bucket names should not contain underscores (_)
Bucket names should be between 3 and 63 characters long
Bucket names should not end with a dash
{pre}


> Support legacy S3 buckets containing underscores
> ------------------------------------------------
>
>                 Key: HADOOP-3495
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3495
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: fs/s3
>            Reporter: Tom White
>            Priority: Minor
>
> For bucket names containing an underscore we fail with an exception, however 
> it should be possible to support them. See proposal in 
> https://issues.apache.org/jira/browse/HADOOP-930?focusedCommentId=12601991#action_12601991
>  by Chris K Wensel.

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

        

Reply via email to