Magyari Sandor Szilard created ZEPPELIN-3209:
------------------------------------------------

             Summary: Preserve thread context classloader when running jobs in 
RemoteInterpreterServer
                 Key: ZEPPELIN-3209
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-3209
             Project: Zeppelin
          Issue Type: Bug
          Components: zeppelin-interpreter
    Affects Versions: 0.8.0
            Reporter: Magyari Sandor Szilard


Spark jobs may change current thread context classloader sometimes.

For example in case of issue ZEPPELIN-2475 using Spark 2.2 and Scala 2.11.8 
when you run DepInterpreter that will start SparkILoop --> ILoop which changes 
the current thread context classloader, from LauncherAppClassloader to 
ScalaClassloader@URLClassloader. This result in classloading problems when 
SparkInterpreter is trying to build up Spark Context, in case SparkInterpreter 
is started by scheduler on same thread.

In short when running subsequent paragraphs, users will get an ambiguous 
NullPointerException, which is hard to understand as it hides the root cause of 
the problem. As a safety measure to prevent such cases RemoteInterpreterServer 
should save & restore original thread context classloader.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to