GitHub user Leemoonsoo opened a pull request:
https://github.com/apache/incubator-zeppelin/pull/485
ZEPPELIN-469 Interpreter process loads unnecessary classes
Addresses issue https://issues.apache.org/jira/browse/ZEPPELIN-469
This PR fixes problem by remove `export ZEPPELIN_CLASSPATH`, so classpath
from bin/zeppelin-daemon.sh is not propagated bin/interpreter.sh.
It can be verified by printing System classloader inside of notebook, like
```scala
val cl = ClassLoader.getSystemClassLoader()
val ucl = cl.asInstanceOf[java.net.URLClassLoader]
ucl.getURLs.foreach(u=>println(u))
```
Result is
Before
```
cl: ClassLoader = sun.misc.Launcher$AppClassLoader@36c51089
ucl: java.net.URLClassLoader = sun.misc.Launcher$AppClassLoader@36c51089
file:/zeppelin/
file:/zeppelin/
file:/zeppelin/interpreter/spark/dep/datanucleus-api-jdo-3.2.6.jar
file:/zeppelin/interpreter/spark/dep/datanucleus-core-3.2.10.jar
file:/zeppelin/interpreter/spark/dep/datanucleus-rdbms-3.2.9.jar
file:/zeppelin/interpreter/spark/dep/zeppelin-spark-dependencies-0.6.0-incubating-SNAPSHOT.jar
file:/zeppelin/interpreter/spark/zeppelin-spark-0.6.0-incubating-SNAPSHOT.jar
file:/zeppelin/lib/asm-3.1.jar
file:/zeppelin/lib/aws-java-sdk-core-1.10.1.jar
file:/zeppelin/lib/aws-java-sdk-kms-1.10.1.jar
file:/zeppelin/lib/aws-java-sdk-s3-1.10.1.jar
file:/zeppelin/lib/c3p0-0.9.1.1.jar
file:/zeppelin/lib/com.sun.el-2.2.0.v201108011116.jar
file:/zeppelin/lib/commons-codec-1.5.jar
file:/zeppelin/lib/commons-configuration-1.9.jar
file:/zeppelin/lib/commons-exec-1.1.jar
file:/zeppelin/lib/commons-httpclient-3.1.jar
file:/zeppelin/lib/commons-io-2.4.jar
file:/zeppelin/lib/commons-lang-2.5.jar
file:/zeppelin/lib/commons-lang3-3.3.2.jar
file:/zeppelin/lib/commons-logging-1.1.1.jar
file:/zeppelin/lib/commons-pool2-2.3.jar
file:/zeppelin/lib/commons-vfs2-2.0.jar
file:/zeppelin/lib/cxf-api-2.7.7.jar
file:/zeppelin/lib/cxf-rt-bindings-xml-2.7.7.jar
file:/zeppelin/lib/cxf-rt-core-2.7.7.jar
file:/zeppelin/lib/cxf-rt-frontend-jaxrs-2.7.7.jar
file:/zeppelin/lib/cxf-rt-transports-http-2.7.7.jar
file:/zeppelin/lib/cxf-rt-transports-http-jetty-2.7.7.jar
file:/zeppelin/lib/dom4j-1.6.1.jar
file:/zeppelin/lib/geronimo-javamail_1.4_spec-1.7.1.jar
file:/zeppelin/lib/geronimo-servlet_3.0_spec-1.0.jar
file:/zeppelin/lib/gson-2.2.jar
file:/zeppelin/lib/guava-15.0.jar
file:/zeppelin/lib/httpclient-4.3.6.jar
file:/zeppelin/lib/httpcore-4.3.3.jar
file:/zeppelin/lib/jackrabbit-jcr-commons-1.5.2.jar
file:/zeppelin/lib/jackrabbit-webdav-1.5.2.jar
file:/zeppelin/lib/jackson-annotations-2.5.0.jar
file:/zeppelin/lib/jackson-core-2.5.3.jar
file:/zeppelin/lib/jackson-databind-2.5.3.jar
file:/zeppelin/lib/javassist-3.12.1.GA.jar
file:/zeppelin/lib/javax.activation-1.1.0.v201105071233.jar
file:/zeppelin/lib/javax.annotation-1.1.0.v201108011116.jar
file:/zeppelin/lib/javax.el-2.2.0.v201108011116.jar
file:/zeppelin/lib/javax.mail.glassfish-1.4.1.v201005082020.jar
file:/zeppelin/lib/javax.security.auth.message-1.0.0.v201108011116.jar
file:/zeppelin/lib/javax.servlet-3.0.0.v201112011016.jar
file:/zeppelin/lib/javax.servlet.jsp-2.2.0.v201112011158.jar
file:/zeppelin/lib/javax.servlet.jsp.jstl-1.2.0.v201105211821.jar
file:/zeppelin/lib/javax.ws.rs-api-2.0-m10.jar
file:/zeppelin/lib/jaxb-impl-2.2.6.jar
file:/zeppelin/lib/jersey-core-1.13.jar
file:/zeppelin/lib/jersey-server-1.13.jar
file:/zeppelin/lib/jersey-servlet-1.13.jar
file:/zeppelin/lib/jetty-all-server-8.1.14.v20131031.jar
file:/zeppelin/lib/jetty-jsp-8.1.14.v20131031.jar
file:/zeppelin/lib/joda-time-2.8.1.jar
file:/zeppelin/lib/libthrift-0.9.2.jar
file:/zeppelin/lib/log4j-1.2.17.jar
file:/zeppelin/lib/maven-scm-api-1.4.jar
file:/zeppelin/lib/maven-scm-provider-svn-commons-1.4.jar
file:/zeppelin/lib/maven-scm-provider-svnexe-1.4.jar
file:/zeppelin/lib/mockito-all-1.9.0.jar
file:/zeppelin/lib/org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar
file:/zeppelin/lib/org.eclipse.jdt.core-3.7.1.jar
file:/zeppelin/lib/plexus-utils-1.5.6.jar
file:/zeppelin/lib/quartz-2.2.1.jar
file:/zeppelin/lib/reflections-0.9.8.jar
file:/zeppelin/lib/regexp-1.3.jar
file:/zeppelin/lib/scala-library-2.10.4.jar
file:/zeppelin/lib/slf4j-api-1.7.10.jar
file:/zeppelin/lib/slf4j-log4j12-1.7.10.jar
file:/zeppelin/lib/stax2-api-3.1.1.jar
file:/zeppelin/lib/woodstox-core-asl-4.2.0.jar
file:/zeppelin/lib/wsdl4j-1.6.3.jar
file:/zeppelin/lib/xml-apis-1.4.01.jar
file:/zeppelin/lib/xmlschema-core-2.0.3.jar
file:/zeppelin/lib/zeppelin-interpreter-0.6.0-incubating-SNAPSHOT.jar
file:/zeppelin/lib/zeppelin-zengine-0.6.0-incubating-SNAPSHOT.jar
file:/zeppelin/zeppelin-server-0.6.0-incubating-SNAPSHOT.jar
file:/zeppelin/
file:/zeppelin/conf/
file:/zeppelin/conf/
file:/zeppelin/conf/
```
After
```
cl: ClassLoader = sun.misc.Launcher$AppClassLoader@338bd37a
ucl: java.net.URLClassLoader = sun.misc.Launcher$AppClassLoader@338bd37a
file:/zeppelin/
file:/zeppelin/
file:/zeppelin/interpreter/spark/dep/datanucleus-api-jdo-3.2.6.jar
file:/zeppelin/interpreter/spark/dep/datanucleus-core-3.2.10.jar
file:/zeppelin/interpreter/spark/dep/datanucleus-rdbms-3.2.9.jar
file:/zeppelin/interpreter/spark/dep/zeppelin-spark-dependencies-0.6.0-incubating-SNAPSHOT.jar
file:/zeppelin/interpreter/spark/zeppelin-spark-0.6.0-incubating-SNAPSHOT.jar
file:/zeppelin/
file:/zeppelin/conf/
file:/zeppelin/conf/
```
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/Leemoonsoo/incubator-zeppelin ZEPPELIN-469
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-zeppelin/pull/485.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #485
----
commit 63dcaafe57c2823ede091cfc82ed2fc720f41b2f
Author: Lee moon soo <[email protected]>
Date: 2015-11-27T11:41:37Z
do not export ZEPPELIN_CLASSPATH
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---