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

Na Yang commented on HIVE-9119:
-------------------------------

According to a ZooKeeper test that I did, increasing the number of ZooKeeper 
client instances does not help improving the ZooKeeper operation requests 
performance in a multi-thread environment. The major load is on the ZooKeeper 
server side. Therefore,  a singleton ZooKeeper client is a good choice for the 
ZookeeperHiveLockManager implementation. 

A zookeeper client/connection pool is not needed in this case. In addition, if 
a zookeeper client/connection pool is used and the pool side is set too big by 
the user, that can cause overhead on zookeeper server and even make the 
ZooKeeperHiveLockManager not workable if the zookeeper client number exceeds 
the number that the zookeeper server could handle.    

> ZooKeeperHiveLockManager does not use zookeeper in the proper way
> -----------------------------------------------------------------
>
>                 Key: HIVE-9119
>                 URL: https://issues.apache.org/jira/browse/HIVE-9119
>             Project: Hive
>          Issue Type: Improvement
>          Components: Locking
>    Affects Versions: 0.13.0, 0.14.0, 0.13.1
>            Reporter: Na Yang
>            Assignee: Na Yang
>         Attachments: HIVE-9119.1.patch
>
>
> ZooKeeperHiveLockManager does not use zookeeper in the proper way. 
> Currently a new zookeeper client instance is created for each 
> getlock/releaselock query which sometimes causes the number of open 
> connections between
> HiveServer2 and ZooKeeper exceed the max connection number that zookeeper 
> server allows. 
> To use zookeeper as a distributed lock, there is no need to create a new 
> zookeeper instance for every getlock try. A single zookeeper instance could 
> be reused and shared by ZooKeeperHiveLockManagers.   



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to