chenliang
chenliang
To answer why `uncaughtExceptionHandler` in `Executor` doesn't catch error https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/executor/Executor.scala#L106 I have a simple little program to explain : the first Exception won't be caught by `UncaughtExceptionHandler` , the second...
``` object TestExceptionHandler { val threadFactory = new ThreadFactoryBuilder().setDaemon(true).build() def main(args: Array[String]): Unit = { val service = Executors.newSingleThreadExecutor(threadFactory) val runLoop = new Runnable() { override def run(): Unit =...
It did catch the fatal error in https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rpc/netty/MessageLoop.scala#L82-L89 It will resubmit receiveLoop and after that it will be blocked here https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rpc/netty/MessageLoop.scala#L69 This Executor did not initialize successfully in the first...
@Ngone51 Hi, I updated some reasons, I don't know if it can be notified on jira, so I updated it in PR
@mridulm @tgravescs If you have time, can you also help take a look~
@mridulm Thanks for your reply. Yes, It is another situation, there are three cases to explain whether uncaughtException can catch exceptions. 1. As you said ``` private def receiveLoop() {...
My example answer the question from @Ngone51 in Jira. But back to the current issue of this, > It did catch the fatal error in https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rpc/netty/MessageLoop.scala#L82-L89 > > It will...
@Ngone51 @mridulm Yeah~You are right. Do you have any idea to solve this problem? My idea is to just exit Executor as PR changed.
@mridulm I think it is sufficient. If you have any doubts please tell me~ I run my test code in spark standalone cluster (It should also have the issue in...
@mridulm Really thanks for your analysis! Please give me some time to understand.