[ 
https://issues.apache.org/jira/browse/HIVE-16854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16045469#comment-16045469
 ] 

Hive QA commented on HIVE-16854:
--------------------------------



Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12872412/HIVE-16854.2.patch

{color:green}SUCCESS:{color} +1 due to 1 test(s) being added or modified.

{color:red}ERROR:{color} -1 due to 8 failed/errored test(s), 10830 tests 
executed
*Failed tests:*
{noformat}
org.apache.hadoop.hive.cli.TestBeeLineDriver.testCliDriver[materialized_view_create_rewrite]
 (batchId=237)
org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[auto_sortmerge_join_2] 
(batchId=46)
org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver[orc_ppd_basic] 
(batchId=140)
org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[vector_if_expr]
 (batchId=145)
org.apache.hadoop.hive.cli.TestPerfCliDriver.testCliDriver[query14] 
(batchId=232)
org.apache.hadoop.hive.cli.TestPerfCliDriver.testCliDriver[query16] 
(batchId=232)
org.apache.hadoop.hive.cli.TestPerfCliDriver.testCliDriver[query94] 
(batchId=232)
org.apache.hive.jdbc.TestJdbcWithMiniHS2.testConcurrentStatements (batchId=226)
{noformat}

Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/5615/testReport
Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/5615/console
Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-5615/

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.TestCheckPhase
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
Tests exited with: TestsFailedException: 8 tests failed
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12872412 - PreCommit-HIVE-Build

> SparkClientFactory is locked too aggressively
> ---------------------------------------------
>
>                 Key: HIVE-16854
>                 URL: https://issues.apache.org/jira/browse/HIVE-16854
>             Project: Hive
>          Issue Type: Bug
>          Components: Spark
>    Affects Versions: 1.1.0
>            Reporter: Xuefu Zhang
>            Assignee: Rui Li
>         Attachments: 15763.jstack, HIVE-16854.2.patch, HIVE-16854.patch
>
>
> Most methods in SparkClientFactory are synchronized on the SparkClientFactory 
> singleton. However, some methods are very expensive, such as createClient(), 
> which returns a SparkClientImpl instance. However, creating a SparkClientImpl 
> instance requires starting a remote driver to connect back to RPCServer. This 
> process can take a long time such as in case of a busy yarn queue. When this 
> happens, all pending  calls on SparkClientFactory will have to wait for a 
> long time.
> In our case, hive.spark.client.server.connect.timeout is set to 1hr. This 
> makes some queries waiting for hours before starting.
> The current implementation seems pretty much making all remote driver 
> launches serialized. If one of them takes time, the following ones will have 
> to wait.
> HS2 stacktrace is attached for reference. It's based on earlier version of 
> Hive, so the line numbers might be slightly off. The following shows the 
> locking effect:
> {code}
> xuefu@hadoopservice20-sjc1:~$ grep 
> org.apache.hive.spark.client.SparkClientFactory 15763.jstack 
>       at 
> org.apache.hive.spark.client.SparkClientFactory.createClient(SparkClientFactory.java:79)
>       - waiting to lock <0x00007f78fa1a9cc0> (a java.lang.Class for 
> org.apache.hive.spark.client.SparkClientFactory)
>       at 
> org.apache.hive.spark.client.SparkClientFactory.createClient(SparkClientFactory.java:79)
>       - waiting to lock <0x00007f78fa1a9cc0> (a java.lang.Class for 
> org.apache.hive.spark.client.SparkClientFactory)
>       at 
> org.apache.hive.spark.client.SparkClientFactory.createClient(SparkClientFactory.java:80)
>       - locked <0x00007f78fa1a9cc0> (a java.lang.Class for 
> org.apache.hive.spark.client.SparkClientFactory)
>       at 
> org.apache.hive.spark.client.SparkClientFactory.createClient(SparkClientFactory.java:79)
>       - waiting to lock <0x00007f78fa1a9cc0> (a java.lang.Class for 
> org.apache.hive.spark.client.SparkClientFactory)
>       at 
> org.apache.hive.spark.client.SparkClientFactory.createClient(SparkClientFactory.java:79)
>       - waiting to lock <0x00007f78fa1a9cc0> (a java.lang.Class for 
> org.apache.hive.spark.client.SparkClientFactory)
>       at 
> org.apache.hive.spark.client.SparkClientFactory.createClient(SparkClientFactory.java:79)
>       - waiting to lock <0x00007f78fa1a9cc0> (a java.lang.Class for 
> org.apache.hive.spark.client.SparkClientFactory)
> {code}



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

Reply via email to