You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by ma...@apache.org on 2009/06/25 22:41:38 UTC
svn commit: r788502 - in /hadoop/zookeeper/trunk: CHANGES.txt
src/java/main/org/apache/zookeeper/ClientCnxn.java
src/java/test/org/apache/zookeeper/test/ACLTest.java
Author: mahadev
Date: Thu Jun 25 20:41:37 2009
New Revision: 788502
URL: http://svn.apache.org/viewvc?rev=788502&view=rev
Log:
ZOOKEEPER-438. addauth fails to register auth on new client that's not yet connected (breed via mahadev)
Modified:
hadoop/zookeeper/trunk/CHANGES.txt
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ClientCnxn.java
hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ACLTest.java
Modified: hadoop/zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=788502&r1=788501&r2=788502&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/CHANGES.txt (original)
+++ hadoop/zookeeper/trunk/CHANGES.txt Thu Jun 25 20:41:37 2009
@@ -128,6 +128,9 @@
ZOOKEEPER-446. some traces of the host auth scheme left (breed via mahadev)
+ ZOOKEEPER-438. addauth fails to register auth on new client that's not yet
+connected (breed via mahadev)
+
IMPROVEMENTS:
ZOOKEEPER-308. improve the atomic broadcast performance 3x.
(breed via mahadev)
Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ClientCnxn.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ClientCnxn.java?rev=788502&r1=788501&r2=788502&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ClientCnxn.java (original)
+++ hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ClientCnxn.java Thu Jun 25 20:41:37 2009
@@ -1130,11 +1130,12 @@
}
public void addAuthInfo(String scheme, byte auth[]) {
- authInfo.add(new AuthData(scheme, auth));
- if (zooKeeper.state == States.CONNECTED) {
- queuePacket(new RequestHeader(-4, OpCode.auth), null,
- new AuthPacket(0, scheme, auth), null, null, null, null,
- null, null);
+ if (!zooKeeper.state.isAlive()) {
+ return;
}
+ authInfo.add(new AuthData(scheme, auth));
+ queuePacket(new RequestHeader(-4, OpCode.auth), null,
+ new AuthPacket(0, scheme, auth), null, null, null, null,
+ null, null);
}
}
Modified: hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ACLTest.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ACLTest.java?rev=788502&r1=788501&r2=788502&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ACLTest.java (original)
+++ hadoop/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/ACLTest.java Thu Jun 25 20:41:37 2009
@@ -55,6 +55,32 @@
LOG.info("FINISHED " + getName());
}
+ public void testDisconnectedAddAuth() throws Exception {
+ File tmpDir = ClientBase.createTmpDir();
+ ClientBase.setupTestEnv();
+ zks = new ZooKeeperServer(tmpDir, tmpDir, 3000);
+ SyncRequestProcessor.setSnapCount(1000);
+ final int PORT = Integer.parseInt(HOSTPORT.split(":")[1]);
+ NIOServerCnxn.Factory f = new NIOServerCnxn.Factory(PORT);
+ f.startup(zks);
+ LOG.info("starting up the zookeeper server .. waiting");
+ assertTrue("waiting for server being up",
+ ClientBase.waitForServerUp(HOSTPORT,CONNECTION_TIMEOUT));
+ ZooKeeper zk = new ZooKeeper(HOSTPORT, CONNECTION_TIMEOUT, this);
+ try {
+ zk.addAuthInfo("digest", "pat:test".getBytes());
+ zk.setACL("/", Ids.CREATOR_ALL_ACL, -1);
+ } finally {
+ zk.close();
+ }
+
+ f.shutdown();
+
+ assertTrue("waiting for server down",
+ ClientBase.waitForServerDown(HOSTPORT,
+ ClientBase.CONNECTION_TIMEOUT));
+ }
+
/**
* Verify that acl optimization of storing just
* a few acls and there references in the data
@@ -149,4 +175,4 @@
startSignal.countDown();
}
}
-}
\ No newline at end of file
+}