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

org.apache.hadoop.util.Shell should not take a dependency on binaries being deployed when used as a library

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • None
    • None
    • util
    • None
    • Windows

    • windows, winutils

    Description

      HIVE-7845 shows how an exception is being thrown when org.apache.hadoop.util.Shell is being used as a library, not as part of a deployed Hadoop environment.

      13:20:00 [ERROR pool-2-thread-4 Shell.getWinUtilsPath] Failed to locate the winutils binary in the hadoop binary path
      java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
                     at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:324)
                     at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:339)
                     at org.apache.hadoop.util.Shell.<clinit>(Shell.java:332)
                     at org.apache.hadoop.hive.conf.HiveConf$ConfVars.findHadoopBinary(HiveConf.java:918)
                     at org.apache.hadoop.hive.conf.HiveConf$ConfVars.<clinit>(HiveConf.java:228)
      

      There are similar native dependencies (eg. NativeIO and hadoop.dll) that handle lack of binaries with fallback to non-native code paths.

      Attachments

        Issue Links

          Activity

            People

              stevel@apache.org Steve Loughran
              rusanu Remus Rusanu
              Votes:
              3 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: