You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Zhenhua Wang (JIRA)" <ji...@apache.org> on 2017/10/29 14:53:00 UTC
[jira] [Created] (SPARK-22394) Redundant synchronization for
metastore access
Zhenhua Wang created SPARK-22394:
------------------------------------
Summary: Redundant synchronization for metastore access
Key: SPARK-22394
URL: https://issues.apache.org/jira/browse/SPARK-22394
Project: Spark
Issue Type: Improvement
Components: SQL
Affects Versions: 2.3.0
Reporter: Zhenhua Wang
Before Spark 2.x, synchronization for metastore access was protected at [line229 in ClientWrapper |https://github.com/apache/spark/blob/branch-1.6/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/ClientWrapper.scala#L229] (now it's at [line203 in HiveClientWrapper |https://github.com/apache/spark/blob/master/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala#L203]). After Spark 2.x, HiveExternalCatalog was introduced by [SPARK-13080|https://github.com/apache/spark/pull/11293], where an extra level of synchronization was added at [line95|https://github.com/apache/spark/blob/master/sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveExternalCatalog.scala#L95]. That is, now we have two levels of synchronization: one is HiveExternalCatalog and the other is IsolatedClientLoader in HiveClientImpl. But since both HiveExternalCatalog and IsolatedClientLoader are shared among all spark sessions, I think the extra level of synchronization in HiveExternalCatalog is redundant, thus can be removed.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org