[
https://issues.apache.org/jira/browse/HADOOP-3495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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