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 2011/04/06 22:20:32 UTC

svn commit: r1089617 - in /zookeeper/trunk: CHANGES.txt src/contrib/zkpython/src/c/zookeeper.c src/contrib/zkpython/src/test/get_set_test.py

Author: mahadev
Date: Wed Apr  6 20:20:32 2011
New Revision: 1089617

URL: http://svn.apache.org/viewvc?rev=1089617&view=rev
Log:
ZOOKEEPER-1028. In python bindings, zookeeper.set2() should return a stat dict but instead returns None. (Chris Medaglia and Ivan Kelly via mahadev)

Modified:
    zookeeper/trunk/CHANGES.txt
    zookeeper/trunk/src/contrib/zkpython/src/c/zookeeper.c
    zookeeper/trunk/src/contrib/zkpython/src/test/get_set_test.py

Modified: zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/trunk/CHANGES.txt?rev=1089617&r1=1089616&r2=1089617&view=diff
==============================================================================
--- zookeeper/trunk/CHANGES.txt (original)
+++ zookeeper/trunk/CHANGES.txt Wed Apr  6 20:20:32 2011
@@ -190,11 +190,16 @@ BUGFIXES: 
 
   ZOOKEEPER-993. Code improvements (MIS via fpj)
 
-  ZOOKEEPER-1012. support distinct JVMFLAGS for zookeeper server in zkServer.sh and zookeeper client in zkCli.sh (Eugene Koontz via breed)
+  ZOOKEEPER-1012. support distinct JVMFLAGS for zookeeper server in zkServer.sh 
+  and zookeeper client in zkCli.sh (Eugene Koontz via breed)
 
   ZOOKEEPER-880. QuorumCnxManager$SendWorker grows without bounds (vishal via breed)
 
-  ZOOKEEPER-1018. The connection permutation in get_addrs uses a weak and inefficient shuffle (Stephen Tyree via breed)
+  ZOOKEEPER-1018. The connection permutation in get_addrs uses a weak and inefficient 
+  shuffle (Stephen Tyree via breed)
+ 
+  ZOOKEEPER-1028. In python bindings, zookeeper.set2() should return a stat dict but 
+  instead returns None. (Chris Medaglia and Ivan Kelly via mahadev)
 
 IMPROVEMENTS:
   ZOOKEEPER-724. Improve junit test integration - log harness information 

Modified: zookeeper/trunk/src/contrib/zkpython/src/c/zookeeper.c
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zkpython/src/c/zookeeper.c?rev=1089617&r1=1089616&r2=1089617&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zkpython/src/c/zookeeper.c (original)
+++ zookeeper/trunk/src/contrib/zkpython/src/c/zookeeper.c Wed Apr  6 20:20:32 2011
@@ -1143,14 +1143,14 @@ static PyObject *pyzoo_set2(PyObject *se
     return NULL;
   }
   CHECK_ZHANDLE(zkhid);
-  struct Stat *stat = NULL;
-  int err = zoo_set2(zhandles[zkhid], path, buffer, buflen, version, stat);
+  struct Stat stat;
+  int err = zoo_set2(zhandles[zkhid], path, buffer, buflen, version, &stat);
   if (err != ZOK) {
     PyErr_SetString(err_to_exception(err), zerror(err));
     return NULL;
   }
 
-  return build_stat(stat);
+  return build_stat(&stat);
 }
 
 /* As per ZK documentation, datanodes are limited to 1Mb. Why not do a

Modified: zookeeper/trunk/src/contrib/zkpython/src/test/get_set_test.py
URL: http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/zkpython/src/test/get_set_test.py?rev=1089617&r1=1089616&r2=1089617&view=diff
==============================================================================
--- zookeeper/trunk/src/contrib/zkpython/src/test/get_set_test.py (original)
+++ zookeeper/trunk/src/contrib/zkpython/src/test/get_set_test.py Wed Apr  6 20:20:32 2011
@@ -43,6 +43,13 @@ class GetSetTest(zktestbase.TestBase):
                           "/zk-python-getsettest",
                           "test",
                           stat["version"]+1)
+        stat2 = zookeeper.set2(self.handle, "/zk-python-getsettest",
+                               "set2", stat["version"])
+        self.assertNotEqual(stat2, None, "set2 call failed, return should not be None")
+        self.assertEqual(stat2["numChildren"], 0,
+                         "set2 call failed, numChildren not 0 in set2 call")
+        (data,stat) = zookeeper.get(self.handle, "/zk-python-getsettest", None)
+        self.assertEqual(data, "set2", "Data is not 'set2' as expected: " + data)
 
     def test_stat_deleted_node(self):
         """