You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Rakesh Raushan (Jira)" <ji...@apache.org> on 2019/09/18 13:13:00 UTC

[jira] [Commented] (SPARK-29152) Spark Executor Plugin API shutdown is not proper when dynamic allocation enabled[SPARK-24918]

    [ https://issues.apache.org/jira/browse/SPARK-29152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16932436#comment-16932436 ] 

Rakesh Raushan commented on SPARK-29152:
----------------------------------------

I will look into this issue.

> Spark Executor Plugin API shutdown is not proper when dynamic allocation enabled[SPARK-24918]
> ---------------------------------------------------------------------------------------------
>
>                 Key: SPARK-29152
>                 URL: https://issues.apache.org/jira/browse/SPARK-29152
>             Project: Spark
>          Issue Type: Bug
>          Components: Spark Core
>    Affects Versions: 2.4.4
>            Reporter: jobit mathew
>            Priority: Major
>
> *Issue Description*
> Spark Executor Plugin API *shutdown handling is not proper*, when dynamic allocation enabled .Plugin shutdown method is not processed-while dynamic allocation is enabled and *executors become dead* after inactive time.
> *Test Precondition*
> 1.Prepared 4 spark applications with executor plugin interface.
> First application-SparkExecutorplugin.jar
> import org.apache.spark.ExecutorPlugin;
> public class ExecutoTest1 implements ExecutorPlugin{
>     public void init(){
>         System.out.println("Executor Plugin Initialised.");
>     }
>     public void shutdown(){
>         System.out.println("Executor plugin closed successfully.");
>     }
> }
> 2. Create the  jars with the same and put it in folder /spark/examples/jars
> *Test Steps*
> 1. launch bin/spark-sql with dynamic allocation enabled
> ./spark-sql --master yarn --conf spark.executor.plugins=ExecutoTest1  --conf="spark.executor.extraClassPath=/opt/HA/C10/install/spark/spark/examples/jars/*" --conf spark.dynamicAllocation.enabled=true --conf spark.dynamicAllocation.initialExecutors=2 --conf spark.dynamicAllocation.minExecutors=0
> 2 create a table , insert the data and select * from tablename
> 3.Check the spark UI Jobs tab/SQL tab
> 4. Check all Executors(executor tab will give all executors details) application log file for Executor plugin Initialization and Shutdown messages or operations.
> Example /yarn/logdir/application_1567156749079_0025/container_e02_1567156749079_0025_01_000005/ stdout
> 5. Wait for the executor to be dead after the inactive time and check the same container log 
> 6. Kill the spark sql and check the container log  for executor plugin shutdown.
> *Expect Output*
> 1. Job should be success. Create table ,insert and select query should be success.
> 2.While running query All Executors  log should contain the executor plugin Init and shutdown messages or operations.
> "Executor Plugin Initialised.
> 3.Once the executors are dead ,executor  shutdown should call shutdown message should be there in log file.
> “ Executor plugin closed successfully.
> 4.Once the sql application closed ,executor  shutdown should call shutdown message should be there in log.
> “ Executor plugin closed successfully". 
> *Actual Output*
> Shutdown message is not called when executor is dead or after closing the application
> *Observation*
> Without dynamic allocation Executor plugin is working fine.But after enabling dynamic allocation,Executor shutdown is not processed.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org