### Eclipse Workspace Patch 1.0 #P apache-hbase-trunk Index: hbase-server/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZooKeeperMainServerArg.java =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZooKeeperMainServerArg.java (revision 1406896) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZooKeeperMainServerArg.java (working copy) @@ -39,7 +39,8 @@ c.set("hbase.zookeeper.quorum", "example.com"); assertEquals("example.com:" + port, parser.parse(c)); c.set("hbase.zookeeper.quorum", "example1.com,example2.com,example3.com"); - assertTrue(port, parser.parse(c).matches("example[1-3]\\.com:" + port)); + assertTrue(port,parser.parse(c).matches( + "(example[1-3]\\.com,){2}example[1-3]\\.com:" + port)); } } Index: hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperMainServerArg.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperMainServerArg.java (revision 1406896) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperMainServerArg.java (working copy) @@ -19,6 +19,8 @@ package org.apache.hadoop.hbase.zookeeper; +import java.util.ArrayList; +import java.util.List; import java.util.Properties; import java.util.Map.Entry; @@ -40,18 +42,26 @@ Properties zkProps = ZKConfig.makeZKProps(c); String host = null; String clientPort = null; + List hosts = new ArrayList(); for (Entry entry: zkProps.entrySet()) { String key = entry.getKey().toString().trim(); String value = entry.getValue().toString().trim(); - if (key.startsWith("server.") && host == null) { + if (key.startsWith("server.")) { String[] parts = value.split(":"); - host = parts[0]; + hosts.add(parts[0]); } else if (key.endsWith("clientPort")) { clientPort = value; } - if (host != null && clientPort != null) break; } - return host != null && clientPort != null? host + ":" + clientPort: null; + if (hosts.isEmpty() || clientPort == null) + return null; + for (int i = 0; i < hosts.size(); i++) { + if (i > 0) + host += "," + hosts.get(i); + else + host += hosts.get(i); + } + return host != null ? host + ":" + clientPort : null; } /**