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

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.7.1, 2.6.2
    • None
    • fs/swift
    • 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

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

            Dates

              Created:
              Updated: