Github user mridulm commented on a diff in the pull request:

    https://github.com/apache/spark/pull/22192#discussion_r216116857
  
    --- Diff: core/src/main/scala/org/apache/spark/executor/Executor.scala ---
    @@ -136,6 +136,26 @@ private[spark] class Executor(
       // for fetching remote cached RDD blocks, so need to make sure it uses 
the right classloader too.
       env.serializerManager.setDefaultClassLoader(replClassLoader)
     
    +  private val executorPlugins: Seq[ExecutorPlugin] = {
    +    val pluginNames = conf.get(EXECUTOR_PLUGINS)
    +    if (pluginNames.nonEmpty) {
    +      logDebug(s"Initializing the following plugins: 
${pluginNames.mkString(", ")}")
    +
    +      // Plugins need to load using a class loader that includes the 
executor's user classpath
    +      val pluginList: Seq[ExecutorPlugin] =
    +        Utils.withContextClassLoader(replClassLoader) {
    +          val plugins = Utils.loadExtensions(classOf[ExecutorPlugin], 
pluginNames, conf)
    +          plugins.foreach(_.init())
    --- End diff --
    
    Just to confirm - the behavior we are going for is, if `init()` fails, then 
the executor does not come up - right ?
    This could be invalid plugins specified or even initialization of one or 
more plugin's failing.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to