[
https://issues.apache.org/jira/browse/HIVE-12650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15129595#comment-15129595
]
Rui Li commented on HIVE-12650:
-------------------------------
bq. Regarding your last question, I tried submitting application when no
container is available. Spark-submit will wait until timeout (90s).
Sorry this comment is misleading. Actually I mean hive will timeout after 90s.
But after this, we'll interrupt the driver thread:
{code}
try {
// The RPC server will take care of timeouts here.
this.driverRpc = rpcServer.registerClient(clientId, secret,
protocol).get();
} catch (Throwable e) {
LOG.warn("Error while waiting for client to connect.", e);
driverThread.interrupt();
try {
driverThread.join();
} catch (InterruptedException ie) {
// Give up.
LOG.debug("Interrupted before driver thread was finished.");
}
throw Throwables.propagate(e);
}
{code}
which in turn will destroy the SparkSubmit process:
{code}
public void run() {
try {
int exitCode = child.waitFor();
if (exitCode != 0) {
rpcServer.cancelClient(clientId, "Child process exited before
connecting back");
LOG.warn("Child process exited with code {}.", exitCode);
}
} catch (InterruptedException ie) {
LOG.warn("Waiting thread interrupted, killing child process.");
Thread.interrupted();
child.destroy();
} catch (Exception e) {
LOG.warn("Exception while waiting for child process.", e);
}
}
{code}
So on my machine, after the timeout, SparkSubmit is terminated.
I think the {{Client closed before SASL negotiation finished.}} exception is
worth investigating and should be root cause here.
> Increase default value of hive.spark.client.server.connect.timeout to exceeds
> spark.yarn.am.waitTime
> ----------------------------------------------------------------------------------------------------
>
> Key: HIVE-12650
> URL: https://issues.apache.org/jira/browse/HIVE-12650
> Project: Hive
> Issue Type: Bug
> Affects Versions: 1.1.1, 1.2.1
> Reporter: JoneZhang
> Assignee: Xuefu Zhang
>
> I think hive.spark.client.server.connect.timeout should be set greater than
> spark.yarn.am.waitTime. The default value for
> spark.yarn.am.waitTime is 100s, and the default value for
> hive.spark.client.server.connect.timeout is 90s, which is not good. We can
> increase it to a larger value such as 120s.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)