You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by iv...@apache.org on 2012/05/09 10:17:35 UTC

svn commit: r1335973 - in /zookeeper/bookkeeper/trunk: ./ bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ bookkeeper-server/src/test/java/org/apache/bookkeeper/test/

Author: ivank
Date: Wed May  9 08:17:34 2012
New Revision: 1335973

URL: http://svn.apache.org/viewvc?rev=1335973&view=rev
Log:
BOOKKEEPER-242: Bookkeeper not able to connect other zookeeper when shutdown the zookeeper server where the BK has connected. (sijie & rakeshr via ivank)

Modified:
    zookeeper/bookkeeper/trunk/CHANGES.txt
    zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ClientConfiguration.java
    zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java
    zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java

Modified: zookeeper/bookkeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/CHANGES.txt?rev=1335973&r1=1335972&r2=1335973&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/CHANGES.txt (original)
+++ zookeeper/bookkeeper/trunk/CHANGES.txt Wed May  9 08:17:34 2012
@@ -96,6 +96,8 @@ Trunk (unreleased changes)
 
 	BOOKKEEPER-229: Deleted entry log files would be garbage collected again and again. (sijie via fpj)
 
+        BOOKKEEPER-242: Bookkeeper not able to connect other zookeeper when shutdown the zookeeper server where the BK has connected. (sijie & rakeshr via ivank)
+
       hedwig-client/
 
         BOOKKEEPER-217: NPE in hedwig client when enable DEBUG (sijie via ivank)

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ClientConfiguration.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ClientConfiguration.java?rev=1335973&r1=1335972&r2=1335973&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ClientConfiguration.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ClientConfiguration.java Wed May  9 08:17:34 2012
@@ -17,8 +17,12 @@
  */
 package org.apache.bookkeeper.conf;
 
+import java.util.List;
+
 import org.apache.bookkeeper.client.BookKeeper.DigestType;
 
+import org.apache.commons.lang.StringUtils;
+
 /**
  * Configuration settings for client side
  */
@@ -182,7 +186,11 @@ public class ClientConfiguration extends
      * @return zookeeper servers
      */
     public String getZkServers() {
-        return getString(ZK_SERVERS, "localhost");
+        List<Object> servers = getList(ZK_SERVERS, null);
+        if (null == servers || 0 == servers.size()) {
+            return "localhost";
+        }
+        return StringUtils.join(servers, ",");
     }
 
     /**

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java?rev=1335973&r1=1335972&r2=1335973&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/conf/ServerConfiguration.java Wed May  9 08:17:34 2012
@@ -18,6 +18,9 @@
 package org.apache.bookkeeper.conf;
 
 import java.io.File;
+import java.util.List;
+
+import org.apache.commons.lang.StringUtils;
 
 /**
  * Configuration manages server-side settings
@@ -378,7 +381,11 @@ public class ServerConfiguration extends
      * @return zookeeper servers
      */
     public String getZkServers() {
-        return getString(ZK_SERVERS, null);
+        List<Object> servers = getList(ZK_SERVERS, null);
+        if (null == servers || 0 == servers.size()) {
+            return null;
+        }
+        return StringUtils.join(servers, ",");
     }
 
     /**

Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java?rev=1335973&r1=1335972&r2=1335973&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/ConfigurationTest.java Wed May  9 08:17:34 2012
@@ -21,6 +21,7 @@
 package org.apache.bookkeeper.test;
 
 import org.apache.bookkeeper.conf.ServerConfiguration;
+import org.apache.bookkeeper.conf.ClientConfiguration;
 
 import junit.framework.TestCase;
 
@@ -52,4 +53,15 @@ public class ConfigurationTest extends T
         conf2.loadConf(newConf);
         assertEquals("newserver", conf2.getZkServers());
     }
+
+    @Test
+    public void testGetZkServers() {
+        System.setProperty("zkServers", "server1:port1,server2:port2");
+        ServerConfiguration conf = new ServerConfiguration();
+        ClientConfiguration clientConf = new ClientConfiguration();
+        assertEquals("zookeeper connect string doesn't match in server configuration",
+                     "server1:port1,server2:port2", conf.getZkServers());
+        assertEquals("zookeeper connect string doesn't match in client configuration",
+                     "server1:port1,server2:port2", clientConf.getZkServers());
+    }
 }