Index: ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHiveLockManager.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHiveLockManager.java (revision 1370665) +++ ql/src/java/org/apache/hadoop/hive/ql/lockmgr/zookeeper/ZooKeeperHiveLockManager.java (working copy) @@ -84,9 +84,27 @@ * host1:port, host2:port.. **/ 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; + String[] zkServerHosts = conf + .getStrings(HiveConf.ConfVars.HIVE_ZOOKEEPER_QUORUM.toString()); + String clientPort = conf + .getVar(HiveConf.ConfVars.HIVE_ZOOKEEPER_CLIENT_PORT); + if (null == zkServerHosts) + { + throw new IllegalArgumentException(HiveConf.ConfVars.HIVE_ZOOKEEPER_QUORUM.toString() + + " is null."); + } + + StringBuilder hostPortBuilder = new StringBuilder(); + for (int i = 0; i < zkServerHosts.length; ++i) { + String serverHost = zkServerHosts[i]; + if (i > 0) { + hostPortBuilder.append(','); + } + hostPortBuilder.append(serverHost); + hostPortBuilder.append(':'); + hostPortBuilder.append(clientPort); + } + return hostPortBuilder.toString(); } Index: ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java =================================================================== --- ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java (revision 1370665) +++ ql/src/test/org/apache/hadoop/hive/ql/QTestUtil.java (working copy) @@ -1069,7 +1112,7 @@ int sessionTimeout = conf.getIntVar(HiveConf.ConfVars.HIVE_ZOOKEEPER_SESSION_TIMEOUT); zooKeeper = new ZooKeeper("localhost:" + zkPort, sessionTimeout, null); - String zkServer = "localhost"; + String zkServer = "localhost,localhost,localhost"; conf.set("hive.zookeeper.quorum", zkServer); conf.set("hive.zookeeper.client.port", "" + zkPort); }