Chen He created HADOOP-12623:
--------------------------------

             Summary: Swift should support more flexible container name than 
RFC952
                 Key: HADOOP-12623
                 URL: https://issues.apache.org/jira/browse/HADOOP-12623
             Project: Hadoop Common
          Issue Type: New Feature
          Components: fs/swift
    Affects Versions: 2.6.2, 2.7.1
            Reporter: Chen He


Just a thought. 

It will be great if Hadoop swift driver can support more flexible container 
name. Current Hadoop swift driver requires container name to follow RFC952. It 
will report error if container name does not obey RFC952:

"Invalid swift hostname 'test.1.serviceName': hostname must in form 
container.service"

 However, user can use any other Swift object store drivers (cURL, cyberduck, 
JOSS, swift python driver, etc) to upload data to Object store but current 
hadoop swift driver can not recognize those containers whose names do not 
follow RFC952. 

I dig into the source code and figure out it is because of in
RestClientBindings.java{

 public static String extractContainerName(URI uri) throws
          SwiftConfigurationException {
    return extractContainerName(uri.getHost());
  }
}

And URI.java line 3143 gives "host = null" . 

We may need to find a better way to do the container name parsing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to