You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zeppelin.apache.org by "Esteban Donato (JIRA)" <ji...@apache.org> on 2016/12/12 09:34:58 UTC

[jira] [Created] (ZEPPELIN-1788) don't modify CLASSPATH environment variable

Esteban Donato created ZEPPELIN-1788:
----------------------------------------

             Summary: don't modify CLASSPATH environment variable
                 Key: ZEPPELIN-1788
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-1788
             Project: Zeppelin
          Issue Type: Bug
    Affects Versions: 0.6.1
            Reporter: Esteban Donato


scripts install-interpreter.sh, interpreter.sh, zeppelin-daemon.sh and zeppelin.sh modify the environment variable CLASSPATH appending either ZEPPELIN_CLASSPATH or ZEPPELIN_INTP_CLASSPATH value to it. Since zeppelin-deamon.sh launches zeppelin server which it then launches the different interpreters via interpreter.sh, if CLASSPATH is set as a exported variable, the CLASSPATH value modified by  zeppelin-daemon.sh (which appends the zeppelin server dependencies) is then propagated to the interpreter.sh execution which result in having the zeppelin server dependencies appended to the interpreters classpath. This cause not just to have unnecessary libraries in the interpreters classpath but also compatibility issues in the spark-interpreter since spark is compiled for Scala 2.10 while zeppelin server includes Scala 2.11 as one of its dependencies and both end up being part of the spark interpreter classpath.

my proposal: use CLASSPATH variable in the scripts as a read-only variable to append libraries to the different classpaths and just modify  ZEPPELIN_CLASSPATH or ZEPPELIN_INTP_CLASSPATH on case by case to append just the necessarily libraries to the different processes.

If this proposal makes sense I can provide a PR with this change. 



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