Author: fpj Date: Wed Dec 18 15:48:19 2013 New Revision: 1551985 URL: http://svn.apache.org/r1551985 Log: ZOOKEEPER-1733. FLETest#testLE is flaky on windows boxes (michim via fpj)
Modified: zookeeper/branches/branch-3.4/CHANGES.txt zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLETest.java Modified: zookeeper/branches/branch-3.4/CHANGES.txt URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/CHANGES.txt?rev=1551985&r1=1551984&r2=1551985&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/CHANGES.txt (original) +++ zookeeper/branches/branch-3.4/CHANGES.txt Wed Dec 18 15:48:19 2013 @@ -199,6 +199,9 @@ BUGFIXES: ZOOKEEPER-1841. problem in QuorumTest (Germán via fpj) + ZOOKEEPER-1733. FLETest#testLE is flaky on windows boxes + (michim via fpj) + IMPROVEMENTS: ZOOKEEPER-1564. Allow JUnit test build with IBM Java Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLETest.java URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLETest.java?rev=1551985&r1=1551984&r2=1551985&view=diff ============================================================================== --- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLETest.java (original) +++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/FLETest.java Wed Dec 18 15:48:19 2013 @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Random; +import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -74,6 +75,7 @@ public class FLETest extends ZKTestCase volatile long leader = -1; //volatile int round = 1; Random rand = new Random(); + Set<Long> joinedThreads; @Before public void setUp() throws Exception { @@ -87,6 +89,7 @@ public class FLETest extends ZKTestCase port = new int[count]; successCount = 0; finalObj = new Object(); + joinedThreads = new HashSet<Long>(); } @After @@ -180,6 +183,7 @@ public class FLETest extends ZKTestCase if(leader == i){ synchronized(finalObj){ successCount++; + joinedThreads.add((long)i); if(successCount > (count/2)) finalObj.notify(); } @@ -224,6 +228,7 @@ public class FLETest extends ZKTestCase if (leader == votes[i].getId()) { synchronized(finalObj){ successCount++; + joinedThreads.add((long)i); if(successCount > (count/2)) finalObj.notify(); } break; @@ -309,8 +314,10 @@ public class FLETest extends ZKTestCase Assert.fail("Fewer than a a majority has joined"); } - if(threads.get((int) leader).isAlive()){ - Assert.fail("Leader hasn't joined: " + leader); + synchronized(finalObj){ + if(!joinedThreads.contains(leader)){ + Assert.fail("Leader hasn't joined: " + leader); + } } }