Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-12623

Hadoop Swift driver should support more flexible container name than RFC952

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 2.7.1, 2.6.2
    • Fix Version/s: None
    • Component/s: fs/swift
    • Labels:
      None

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              airbots Chen He
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: