You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ph...@apache.org on 2010/03/10 19:52:11 UTC
svn commit: r921509 - in /hadoop/zookeeper/trunk: ./
src/java/main/org/apache/zookeeper/server/quorum/
src/java/test/org/apache/zookeeper/test/
Author: phunt
Date: Wed Mar 10 18:52:11 2010
New Revision: 921509
URL: http://svn.apache.org/viewvc?rev=921509&view=rev
Log:
ZOOKEEPER-693. TestObserver stuck in tight notification loop in FLE
Modified:
hadoop/zookeeper/trunk/CHANGES.txt
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/AuthFastLeaderElection.java
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Election.java
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/LeaderElection.java
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java
hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ObserverTest.java
Modified: hadoop/zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=921509&r1=921508&r2=921509&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/CHANGES.txt (original)
+++ hadoop/zookeeper/trunk/CHANGES.txt Wed Mar 10 18:52:11 2010
@@ -258,7 +258,11 @@ BUGFIXES:
ZOOKEEPER-685. Race in LENonTerminateTest (henry via breed)
- ZOOKEEPER-677. c client doesn't allow ipv6 numeric connect string (breed & phunt & mahadev via breed)
+ ZOOKEEPER-677. c client doesn't allow ipv6 numeric connect string
+ (breed & phunt & mahadev via breed)
+
+ ZOOKEEPER-693. TestObserver stuck in tight notification loop in FLE
+ (flavio via phunt)
IMPROVEMENTS:
ZOOKEEPER-473. cleanup junit tests to eliminate false positives due to
Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/AuthFastLeaderElection.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/AuthFastLeaderElection.java?rev=921509&r1=921508&r2=921509&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/AuthFastLeaderElection.java (original)
+++ hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/AuthFastLeaderElection.java Wed Mar 10 18:52:11 2010
@@ -808,6 +808,17 @@ public class AuthFastLeaderElection impl
}
+ /**
+ * There is nothing to shutdown in this implementation of
+ * leader election, so we simply have an empty method.
+ */
+ public void shutdown(){}
+
+ /**
+ * Invoked in QuorumPeer to find or elect a new leader.
+ *
+ * @throws InterruptedException
+ */
public Vote lookForLeader() throws InterruptedException {
try {
self.jmxLeaderElectionBean = new LeaderElectionBean();
Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Election.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Election.java?rev=921509&r1=921508&r2=921509&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Election.java (original)
+++ hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/Election.java Wed Mar 10 18:52:11 2010
@@ -23,4 +23,5 @@ import org.apache.zookeeper.server.quoru
public interface Election {
public Vote lookForLeader() throws InterruptedException;
+ public void shutdown();
}
\ No newline at end of file
Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/LeaderElection.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/LeaderElection.java?rev=921509&r1=921508&r2=921509&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/LeaderElection.java (original)
+++ hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/LeaderElection.java Wed Mar 10 18:52:11 2010
@@ -111,6 +111,17 @@ public class LeaderElection implements E
return result;
}
+ /**
+ * There is nothing to shutdown in this implementation of
+ * leader election, so we simply have an empty method.
+ */
+ public void shutdown(){}
+
+ /**
+ * Invoked in QuorumPeer to find or elect a new leader.
+ *
+ * @throws InterruptedException
+ */
public Vote lookForLeader() throws InterruptedException {
try {
self.jmxLeaderElectionBean = new LeaderElectionBean();
Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java?rev=921509&r1=921508&r2=921509&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java (original)
+++ hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java Wed Mar 10 18:52:11 2010
@@ -670,6 +670,10 @@ public class QuorumPeer extends Thread i
if(udpSocket != null) {
udpSocket.close();
}
+
+ if(getElectionAlg() != null){
+ getElectionAlg().shutdown();
+ }
}
/**
Modified: hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ObserverTest.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ObserverTest.java?rev=921509&r1=921508&r2=921509&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ObserverTest.java (original)
+++ hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ObserverTest.java Wed Mar 10 18:52:11 2010
@@ -155,7 +155,7 @@ public class ObserverTest extends Quorum
lastEvent.getState() + ")",
(KeeperState.SyncConnected==lastEvent.getState() ||
KeeperState.Expired==lastEvent.getState()));
-
+
q1.shutdown();
q2.shutdown();
q3.shutdown();