[ https://issues.apache.org/jira/browse/IMPALA-7161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16773654#comment-16773654 ]
ASF subversion and git services commented on IMPALA-7161: --------------------------------------------------------- Commit 6dabf9d9d3f6b4dc9ba287bbc8d712186589597f in impala's branch refs/heads/2.x from Joe McDonnell [ https://gitbox.apache.org/repos/asf?p=impala.git;h=6dabf9d ] IMPALA-7161: Fix impala-config.sh's handling of JAVA_HOME It is common for developers to specify JAVA_HOME in bin/impala-config-local.sh, so wait until after it is sourced to validate JAVA_HOME. Also, try harder to auto-detect the system's JAVA_HOME in case it has not been specified in the environment. Here is a run through of different scenarios: 1. Not set in environment, not set in impala-config-local.sh: Didn't work before, now tries to autodetect by looking for javac on the PATH 2. Set in environment, not set in impala-config-local.sh: No change 3. Not set in environment, set in impala-config-local.sh: Didn't work before, now works 4. Set in environment and set in impala-config-local.sh: This used to be potentially inconsistent (i.e. JAVA comes from the environment's JAVA_HOME, but JAVA_HOME is overwritten by impala-config-local.sh), now it always uses the value from impala-config-local.sh. Change-Id: Idf3521b4f44fdbdc841a90fd00c477c9423a75bb Reviewed-on: http://gerrit.cloudera.org:8080/10702 Reviewed-by: Philip Zeyliger <phi...@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> > Bootstrap's handling of JAVA_HOME needs improvement > --------------------------------------------------- > > Key: IMPALA-7161 > URL: https://issues.apache.org/jira/browse/IMPALA-7161 > Project: IMPALA > Issue Type: Bug > Components: Infrastructure > Affects Versions: Impala 2.13.0, Impala 3.1.0 > Reporter: Joe McDonnell > Assignee: Joe McDonnell > Priority: Major > Fix For: Impala 3.1.0 > > > bin/bootstrap_system.sh installs the Java SDK and sets JAVA_HOME in the > current shell. It also adds a command to the bin/impala-config-local.sh to > export JAVA_HOME there. This doesn't do the job. > bin/impala-config.sh tests for JAVA_HOME at the very start of the script, > before it has sourced bin/impala-config-local.sh. So, the user doesn't have a > way of developing over the long term without manually setting up JAVA_HOME. > bin/impala-config.sh also doesn't detect the system JAVA_HOME. For Ubuntu > 16.04, this is fairly simple and if a developer has their system JDK set up > appropriately, it would make sense to use it. For example: > > {noformat} > # If javac exists, then the system has a Java SDK (JRE does not have javac). > # Follow the symbolic links and use this to determine the system's JAVA_HOME. > if [ -L /usr/bin/javac ]; then > SYSTEM_JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:bin/javac::") > fi > export JAVA_HOME="${JAVA_HOME:-${SYSTEM_JAVA_HOME}}"{noformat} > -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org