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)