You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Chen He (JIRA)" <ji...@apache.org> on 2015/12/08 08:29:10 UTC

[jira] [Created] (HADOOP-12623) Swift should support more flexible container name than RFC952

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)