[
https://issues.apache.org/jira/browse/HIVE-16593?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rui Li updated HIVE-16593:
--------------------------
Description:
When we receive SIGINT more than once, we call System.exit to terminate the
JVM. System.exit runs the shutdown hooks which in turn calls
SparkClientFactory.stop. All the methods in SparkClientFactory are synchronized
and at this point, we may be waiting to create a SparkClientImpl in
SparkClientFactory.createClient. Therefore SparkClientFactory.stop will be
blocked until SparkClientFactory.createClient returns.
The reason why we may be waiting to create SparkClientImpl is usually to wait
for RemoteDriver to connect. If RemoteDriver runs into problem, the JVM won't
exit until we timeout.
> SparkClientFactory.stop may prevent JVM from exiting
> ----------------------------------------------------
>
> Key: HIVE-16593
> URL: https://issues.apache.org/jira/browse/HIVE-16593
> Project: Hive
> Issue Type: Bug
> Components: Spark
> Reporter: Rui Li
> Assignee: Rui Li
>
> When we receive SIGINT more than once, we call System.exit to terminate the
> JVM. System.exit runs the shutdown hooks which in turn calls
> SparkClientFactory.stop. All the methods in SparkClientFactory are
> synchronized and at this point, we may be waiting to create a SparkClientImpl
> in SparkClientFactory.createClient. Therefore SparkClientFactory.stop will be
> blocked until SparkClientFactory.createClient returns.
> The reason why we may be waiting to create SparkClientImpl is usually to wait
> for RemoteDriver to connect. If RemoteDriver runs into problem, the JVM won't
> exit until we timeout.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)