Author: mahadev
Date: Thu Apr 2 00:35:57 2009
New Revision: 761126
URL: http://svn.apache.org/viewvc?rev=761126&view=rev
Log:
ZOOKEEPER-305. Replace timers with semaphores in FLENewEpochTest. (flavio via mahadev)
Modified:
hadoop/zookeeper/trunk/CHANGES.txt
hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/FLENewEpochTest.java
Modified: hadoop/zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=761126&r1=761125&r2=761126&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/CHANGES.txt (original)
+++ hadoop/zookeeper/trunk/CHANGES.txt Thu Apr 2 00:35:57 2009
@@ -60,6 +60,9 @@
ZOOKEEPER-349. to automate patch testing. (giridharan kesavan via mahadev)
ZOOKEEPER-288. Cleanup and fixes to BookKeeper (flavio via mahadev)
+
+ ZOOKEEPER-305. Replace timers with semaphores in FLENewEpochTest.
+(flavio via mahadev)
NEW FEATURES:
Modified: hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/FLENewEpochTest.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/FLENewEpochTest.java?rev=761126&r1=761125&r2=761126&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/FLENewEpochTest.java (original)
+++ hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/FLENewEpochTest.java Thu
Apr 2 00:35:57 2009
@@ -22,6 +22,7 @@
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.concurrent.Semaphore;
import junit.framework.TestCase;
@@ -45,6 +46,9 @@
int port[];
volatile int [] round;
+ Semaphore start0;
+ Semaphore finish3;
+
@Override
public void setUp() throws Exception {
count = 3;
@@ -60,6 +64,10 @@
round[0] = 0;
round[1] = 0;
round[2] = 0;
+
+ start0 = new Semaphore(0);
+ finish3 = new Semaphore(0);
+
LOG.info("SetUp " + getName());
}
@@ -115,9 +123,8 @@
LOG.info("Second entering case");
if(round[1] != 0) flag = false;
else{
- while(round[2] == 0){
- Thread.sleep(200);
- }
+ finish3.acquire();
+ start0.release();
}
LOG.info("Second is going to start second round");
round[1]++;
@@ -128,6 +135,7 @@
peer.shutdown();
flag = false;
round[2] = 1;
+ finish3.release();
LOG.info("Third leaving");
break;
}
@@ -159,7 +167,8 @@
thread.start();
threads.add(thread);
}
- Thread.sleep(2000);
+ start0.acquire();
+
QuorumPeer peer = new QuorumPeer(peers, tmpdir[0], tmpdir[0], port[0], 3, 0, 2,
2, 2);
peer.startLeaderElection();
LEThread thread = new LEThread(peer, 0);
|