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

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: util
    • Labels:
      None
    • Environment:

      Windows

    • Tags:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: