You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Paul Rogers (JIRA)" <ji...@apache.org> on 2016/08/31 17:42:20 UTC

[jira] [Created] (DRILL-4870) drill-config.sh sets JAVA_HOME incorrectly for the Mac

Paul Rogers created DRILL-4870:
----------------------------------

             Summary: drill-config.sh sets JAVA_HOME incorrectly for the Mac
                 Key: DRILL-4870
                 URL: https://issues.apache.org/jira/browse/DRILL-4870
             Project: Apache Drill
          Issue Type: Bug
    Affects Versions: 1.8.0
         Environment: MacOS with unset JAVA_HOME
            Reporter: Paul Rogers
            Assignee: Paul Rogers
            Priority: Minor
             Fix For: 1.9.0


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:

./drill-embedded 
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



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)