Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-4870

drill-config.sh sets JAVA_HOME incorrectly for the Mac



    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.8.0
    • 1.9.0
    • None
    • None
    • MacOS with unset JAVA_HOME


      It turns out that drill-config.sh is both improperly and unnecessarily setting the JAVA_HOME envrironment variable. That setting should be removed.

      In the Drill 1.7 version, drill-config.sh checks if the JAVA_HOME environment variable is set. If not, it sets JAVA_HOME based on its guess as to the proper value.

      In the 1.7 version, the veriable was set, but not exported, so the variable was never actually used.

      The recent script fixes for 1.8 "fixed" the export problem. The fix works fine on Linux. But, the Java install on the Mac has a different structure than that on Linux. The value that drill-config.sh guesses is fine for Linux, wrong for the Mac.

      When we export the (wrong) JAVA_HOME, Mac users who have not set JAVA_HOME will get the following error when using a Drill script:

      Unable to locate an executable at "/System/Library/Frameworks/JavaVM.framework/Versions/A/bin/java"

      Mac users who do set JAVA_HOME will not encounter the problem (because drill-config.sh does not change an existing value.)

      It seems likely that someone in the past ecountered the same problem and removed the export of DRILL_HOME as an attempt to fix the problem.

      As it turns out, Java does know how to set JAVA_HOME properly if not set. So, setting JAVA_HOME is unnecessary.

      The proper fix is to remove JAVA_HOME setting from drill-config.sh.

      The workaround for any 1.8 user who encounters the problem is to edit their $DRILL_HOME/bin/drill-config.sh file and delete this line near the end of the file:

      export JAVA_HOME


        Issue Links



              cshi Chunhui Shi
              paul-rogers Paul Rogers
              Krystal Krystal
              0 Vote for this issue
              6 Start watching this issue