hustfxj created SPARK-19831:
-------------------------------

             Summary: Sending the heartbeat to master maybe blocked by other 
rpc messages
                 Key: SPARK-19831
                 URL: https://issues.apache.org/jira/browse/SPARK-19831
             Project: Spark
          Issue Type: Bug
          Components: Spark Core
    Affects Versions: 2.2.0
            Reporter: hustfxj


Cleaning the application may cost much time at worker, then it will block that  
the worker send heartbeats master and rpc messages because the worker is extend 
*ThreadSafeRpcEndpoint*. So the master will think the worker is dead. If the 
worker has a driver, the driver will be scheduled by master again. So I think 
it is the bug on spark. I can solve this problem by followed suggests:

1. It had better  put the cleaning the application in a single asynchronous 
thread like 'cleanupThreadExecutor'. Thus it won't block other rpc messages 
like SendHeartbeat;

2. It had better not send the heartbeat master by rpc channel. Because any 
other rpc message may block the rpc channel. It had better send the heartbeat 
master at an asynchronous timing thread .



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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

Reply via email to