You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ca...@apache.org on 2012/03/02 04:05:02 UTC

svn commit: r1296041 - in /zookeeper/branches/branch-3.4: CHANGES.txt src/java/test/org/apache/zookeeper/test/AuthTest.java

Author: camille
Date: Fri Mar  2 03:05:01 2012
New Revision: 1296041

URL: http://svn.apache.org/viewvc?rev=1296041&view=rev
Log:
ZOOKEEPER-1354. AuthTest.testBadAuthThenSendOtherCommands fails intermittently (phunt via camille)

Modified:
    zookeeper/branches/branch-3.4/CHANGES.txt
    zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/AuthTest.java

Modified: zookeeper/branches/branch-3.4/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/CHANGES.txt?rev=1296041&r1=1296040&r2=1296041&view=diff
==============================================================================
--- zookeeper/branches/branch-3.4/CHANGES.txt (original)
+++ zookeeper/branches/branch-3.4/CHANGES.txt Fri Mar  2 03:05:01 2012
@@ -7,6 +7,8 @@ BUGFIXES:
   ZOOKEEPER-1386. avoid flaky URL redirection in "ant javadoc" : 
   replace "http://java.sun.com/javase/6/docs/api/" with 
   "http://download.oracle.com/javase/6/docs/api/" (Eugene Koontz via camille) 
+  
+  ZOOKEEPER-1354. AuthTest.testBadAuthThenSendOtherCommands fails intermittently (phunt via camille)
  
 
 IMPROVEMENTS:

Modified: zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/AuthTest.java
URL: http://svn.apache.org/viewvc/zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/AuthTest.java?rev=1296041&r1=1296040&r2=1296041&view=diff
==============================================================================
--- zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/AuthTest.java (original)
+++ zookeeper/branches/branch-3.4/src/java/test/org/apache/zookeeper/test/AuthTest.java Fri Mar  2 03:05:01 2012
@@ -19,15 +19,16 @@
 package org.apache.zookeeper.test;
 
 import java.io.IOException;
-import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.zookeeper.CreateMode;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.TestableZooKeeper;
 import org.apache.zookeeper.WatchedEvent;
-import org.apache.zookeeper.ZooKeeper;
 import org.apache.zookeeper.Watcher.Event.KeeperState;
 import org.apache.zookeeper.ZooDefs.Ids;
+import org.apache.zookeeper.ZooKeeper;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -39,8 +40,8 @@ public class AuthTest extends ClientBase
         System.setProperty("zookeeper.authProvider.1", "org.apache.zookeeper.test.InvalidAuthProvider");
     }
 
-    private AtomicInteger authFailed = new AtomicInteger(0);
-    
+    private final CountDownLatch authFailed = new CountDownLatch(1);
+
     @Override
     protected TestableZooKeeper createClient(String hp)
     throws IOException, InterruptedException
@@ -53,7 +54,7 @@ public class AuthTest extends ClientBase
         @Override
         public synchronized void process(WatchedEvent event) {
             if (event.getState() == KeeperState.AuthFailed) {
-                authFailed.incrementAndGet();
+                authFailed.countDown();
             }
             else {
                 super.process(event);
@@ -69,8 +70,11 @@ public class AuthTest extends ClientBase
             zk.getData("/path1", false, null);
             Assert.fail("Should get auth state error");
         } catch(KeeperException.AuthFailedException e) {
-            Assert.assertEquals("Should have called my watcher", 
-                    1, authFailed.get());
+            if(!authFailed.await(CONNECTION_TIMEOUT,
+                    TimeUnit.MILLISECONDS))
+            {
+                Assert.fail("Should have called my watcher");
+            }
         }
         finally {
             zk.close();
@@ -86,8 +90,11 @@ public class AuthTest extends ClientBase
             zk.getData("/path1", false, null);
             Assert.fail("Should get auth state error");
         } catch(KeeperException.AuthFailedException e) {
-            Assert.assertEquals("Should have called my watcher", 
-                    1, authFailed.get());
+            if(!authFailed.await(CONNECTION_TIMEOUT,
+                    TimeUnit.MILLISECONDS))
+            {
+                Assert.fail("Should have called my watcher");
+            }
         }
         finally {
             zk.close();