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

Native Libraries do not load if a different platform signature is returned from org.apache.hadoop.util.PlatformName

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Not A Problem
    • 0.20.205.0
    • None
    • native
    • None
    • SLES 10, IBM Java 6, Hadoop 0.21.0-rc0

    Description

      bin/hadoop-config.sh has an environment variable called JAVA_PLATFORM which is set to to the results returned by org.apache.hadoop.util.PlatformName . These results are sometimes unique to the JRE being used. Although the value returned for 64 Bit Sun/Oracle Java and 64 Bit IBM Java is the same, it is different for the corresponding 32 Bit JREs.

      The issue is that the value returned is used in creating the path to the native libraries on disk, i.e ${HADOOP_COMMON_HOME}/lib/native/${JAVA_PLATFORM}

      Since the path on disk is fixed with the Sun JRE value /lib/native/Linux-i386-32 it therefore fails when it attempts to load the native libraries with the value returned with 32 Bit IBM Java, /lib/native/Linux-x86-32

      Attachments

        1. HADOOP-6895.patch
          0.7 kB
          Stephen Watt

        Issue Links

          Activity

            People

              Unassigned Unassigned
              wattsteve Stephen Watt
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: