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)