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)

Reply via email to