class ExecutorClassLoader extends ClassLoader with Logging
A ClassLoader that reads classes from a Hadoop FileSystem or Spark RPC endpoint, used to load classes defined by the interpreter when the REPL is used. Allows the user to specify if user class path should be first. This class loader delegates getting/finding resources to parent loader, which makes sense because the REPL never produce resources dynamically. One exception is when getting a Class file as resource stream, in which case we will try to fetch the Class file in the same way as loading the class, so that dynamically generated Classes from the REPL can be picked up.
Note: ClassLoader will preferentially load class from parent. Only when parent is null or
the load failed, that it will call the overridden findClass
function. To avoid the potential
issue caused by loading class using inappropriate class loader, we should set the parent of
ClassLoader to null, so that we can fully control which class loader is used. For detailed
discussion, see SPARK-18646.
- Alphabetic
- By Inheritance
- ExecutorClassLoader
- Logging
- ClassLoader
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ExecutorClassLoader(conf: SparkConf, env: SparkEnv, classUri: String, parent: ClassLoader, userClassPathFirst: Boolean)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clearAssertionStatus(): Unit
- Definition Classes
- ClassLoader
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
defineClass(arg0: String, arg1: ByteBuffer, arg2: ProtectionDomain): Class[_]
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
- Annotations
- @throws( classOf[java.lang.ClassFormatError] )
-
final
def
defineClass(arg0: String, arg1: Array[Byte], arg2: Int, arg3: Int, arg4: ProtectionDomain): Class[_]
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
- Annotations
- @throws( classOf[java.lang.ClassFormatError] )
-
final
def
defineClass(arg0: String, arg1: Array[Byte], arg2: Int, arg3: Int): Class[_]
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
- Annotations
- @throws( classOf[java.lang.ClassFormatError] )
-
def
definePackage(arg0: String, arg1: String, arg2: String, arg3: String, arg4: String, arg5: String, arg6: String, arg7: URL): Package
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
- Annotations
- @throws( ... )
- val directory: String
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
findClass(name: String): Class[_]
- Definition Classes
- ExecutorClassLoader → ClassLoader
- def findClassLocally(name: String): Option[Class[_]]
-
def
findLibrary(arg0: String): String
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
-
final
def
findLoadedClass(arg0: String): Class[_]
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
-
def
findResource(arg0: String): URL
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
-
def
findResources(arg0: String): Enumeration[URL]
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
- Annotations
- @throws( classOf[java.io.IOException] )
-
final
def
findSystemClass(arg0: String): Class[_]
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
- Annotations
- @throws( ... )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getClassLoadingLock(arg0: String): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
-
def
getPackage(arg0: String): Package
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
-
def
getPackages(): Array[Package]
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
-
final
def
getParent(): ClassLoader
- Definition Classes
- ClassLoader
- Annotations
- @CallerSensitive()
-
def
getResource(name: String): URL
- Definition Classes
- ExecutorClassLoader → ClassLoader
-
def
getResourceAsStream(name: String): InputStream
- Definition Classes
- ExecutorClassLoader → ClassLoader
-
def
getResources(name: String): Enumeration[URL]
- Definition Classes
- ExecutorClassLoader → ClassLoader
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
loadClass(arg0: String, arg1: Boolean): Class[_]
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
- Annotations
- @throws( ... )
-
def
loadClass(arg0: String): Class[_]
- Definition Classes
- ClassLoader
- Annotations
- @throws( ... )
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logName: String
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val parentLoader: ParentClassLoader
- def readAndTransformClass(name: String, in: InputStream): Array[Byte]
-
final
def
resolveClass(arg0: Class[_]): Unit
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
-
def
setClassAssertionStatus(arg0: String, arg1: Boolean): Unit
- Definition Classes
- ClassLoader
-
def
setDefaultAssertionStatus(arg0: Boolean): Unit
- Definition Classes
- ClassLoader
-
def
setPackageAssertionStatus(arg0: String, arg1: Boolean): Unit
- Definition Classes
- ClassLoader
-
final
def
setSigners(arg0: Class[_], arg1: Array[AnyRef]): Unit
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- val uri: URI
-
def
urlEncode(str: String): String
URL-encode a string, preserving only slashes
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
Deprecated Value Members
-
final
def
defineClass(arg0: Array[Byte], arg1: Int, arg2: Int): Class[_]
- Attributes
- protected[lang]
- Definition Classes
- ClassLoader
- Annotations
- @throws( classOf[java.lang.ClassFormatError] ) @Deprecated
- Deprecated