mridulm commented on PR #37779: URL: https://github.com/apache/spark/pull/37779#issuecomment-1259007734
Thanks for the query @Ngone51 - I missed out one aspect of my analysis, which ends up completely changing the solution - my bad :-( The answer to your query has the reason for the lack of failure - this is due to the two types of api's we are using ... For `DeducatedMessageLoop`, for the initial submission of `receiveLoopRunnable` - we use `ExecutorService.submit` api - while for other cases, we use the `Executor.execute` api - and this is the cause for the behavior. The `submit` api returns a `Future` - and if we look at the implementation of `FutureTask.run`, we see that it catches `Throwable` and preserves that as the outcome (`setException`) - which is the reason why the thread itself does not die. So the specific case might be mitigated by using `execute` instead of `submit` api. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
