Author: breed
Date: Mon Oct 11 20:54:25 2010
New Revision: 1021501

URL: http://svn.apache.org/viewvc?rev=1021501&view=rev
Log:
ZOOKEEPER-886. Hedwig Server stays in "disconnected" state when connection to 
ZK dies but gets reconnected

Modified:
    hadoop/zookeeper/trunk/CHANGES.txt
    
hadoop/zookeeper/trunk/src/contrib/hedwig/server/src/main/java/org/apache/hedwig/server/topics/ZkTopicManager.java

Modified: hadoop/zookeeper/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=1021501&r1=1021500&r2=1021501&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/CHANGES.txt (original)
+++ hadoop/zookeeper/trunk/CHANGES.txt Mon Oct 11 20:54:25 2010
@@ -110,6 +110,8 @@ BUGFIXES: 
   ZOOKEEPER-822. Leader election taking a long time to complete
   (Vishal K via phunt)
 
+  ZOOKEEPER-866. Hedwig Server stays in "disconnected" state when connection 
to ZK dies but gets reconnected (erwin tam via breed)
+
 IMPROVEMENTS:
   ZOOKEEPER-724. Improve junit test integration - log harness information 
   (phunt via mahadev)

Modified: 
hadoop/zookeeper/trunk/src/contrib/hedwig/server/src/main/java/org/apache/hedwig/server/topics/ZkTopicManager.java
URL: 
http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/contrib/hedwig/server/src/main/java/org/apache/hedwig/server/topics/ZkTopicManager.java?rev=1021501&r1=1021500&r2=1021501&view=diff
==============================================================================
--- 
hadoop/zookeeper/trunk/src/contrib/hedwig/server/src/main/java/org/apache/hedwig/server/topics/ZkTopicManager.java
 (original)
+++ 
hadoop/zookeeper/trunk/src/contrib/hedwig/server/src/main/java/org/apache/hedwig/server/topics/ZkTopicManager.java
 Mon Oct 11 20:54:25 2010
@@ -92,14 +92,19 @@ public class ZkTopicManager extends Abst
                     if 
(event.getState().equals(Watcher.Event.KeeperState.Disconnected)) {
                         logger.warn("ZK client has been disconnected to the ZK 
server!");
                         isSuspended = true;
+                    } else if 
(event.getState().equals(Watcher.Event.KeeperState.SyncConnected)) {
+                       if (isSuspended) {
+                           logger.info("ZK client has been reconnected to the 
ZK server!");
+                       }
+                       isSuspended = false;
                     }
-                } else if 
(event.getState().equals(Watcher.Event.KeeperState.Expired)) {
+               }
+               // Check for expired connection.
+                if 
(event.getState().equals(Watcher.Event.KeeperState.Expired)) {
                     logger.error("ZK client connection to the ZK server has 
expired!");
                     System.exit(1);
-                } else if 
(event.getState().equals(Watcher.Event.KeeperState.SyncConnected)) {
-                    isSuspended = false;
-                }
-            }
+                }             
+           }
         });
         final SynchronousQueue<Either<Void, PubSubException>> queue = new 
SynchronousQueue<Either<Void, PubSubException>>();
 


Reply via email to