[ https://issues.apache.org/jira/browse/HIVE-5643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13806241#comment-13806241 ]
Venki Korukanti commented on HIVE-5643: --------------------------------------- RB link: https://reviews.apache.org/r/14978/ > ZooKeeperHiveLockManager.getQuorumServers incorrectly appends the custom zk > port to quorum hosts > ------------------------------------------------------------------------------------------------ > > Key: HIVE-5643 > URL: https://issues.apache.org/jira/browse/HIVE-5643 > Project: Hive > Issue Type: Bug > Components: Locking > Affects Versions: 0.12.0 > Reporter: Venki Korukanti > Assignee: Venki Korukanti > Fix For: 0.13.0 > > Attachments: HIVE-5643.1.patch.txt > > > ZooKeeperHiveLockManager calls the below method to construct the connection > string for ZooKeeper connection. > {code} > private static String getQuorumServers(HiveConf conf) { > String hosts = conf.getVar(HiveConf.ConfVars.HIVE_ZOOKEEPER_QUORUM); > String port = conf.getVar(HiveConf.ConfVars.HIVE_ZOOKEEPER_CLIENT_PORT); > return hosts + ":" + port; > } > {code} > For example: > HIVE_ZOOKEEPER_QUORUM=node1, node2, node3 > HIVE_ZOOKEEPER_CLIENT_PORT=9999 > Connection string given to ZooKeeper object is "node1, node2, node3:9999". > ZooKeeper consider the default port as 2181 for hostnames that don't have any > port. > This works fine as long as HIVE_ZOOKEEPER_CLIENT_PORT is 2181. If it is > different then ZooKeeper client object tries to connect to node1 and node2 on > port 2181 which always fails. So it has only one choice the last host which > receives all the load from Hive. -- This message was sent by Atlassian JIRA (v6.1#6144)