[Zodb-checkins] SVN: ZODB/trunk/src/ Bugs Fixed

Jim Fulton jim at zope.com
Thu Jul 2 18:50:52 EDT 2009


Log message for revision 101411:
  Bugs Fixed
  ----------
  
  - ZEO protocol 2 support was broken.  This caused very old clients to
    be unable to use new servers.
  

Changed:
  U   ZODB/trunk/src/CHANGES.txt
  U   ZODB/trunk/src/ZEO/StorageServer.py
  U   ZODB/trunk/src/ZEO/tests/protocols.test

-=-
Modified: ZODB/trunk/src/CHANGES.txt
===================================================================
--- ZODB/trunk/src/CHANGES.txt	2009-07-02 20:55:40 UTC (rev 101410)
+++ ZODB/trunk/src/CHANGES.txt	2009-07-02 22:50:52 UTC (rev 101411)
@@ -2,7 +2,7 @@
  Change History
 ================
 
-3.9.0b2 (2009-07-02)
+3.9.0b2 (2009-07-??)
 ====================
 
 Bugs Fixed
@@ -11,6 +11,8 @@
 - ZEO client threads were unnamed, making it hard to debug thread
   management.
 
+- ZEO protocol 2 support was broken.  This caused very old clients to
+  be unable to use new servers.
 
 3.9.0b2 (2009-06-11)
 ====================

Modified: ZODB/trunk/src/ZEO/StorageServer.py
===================================================================
--- ZODB/trunk/src/ZEO/StorageServer.py	2009-07-02 20:55:40 UTC (rev 101410)
+++ ZODB/trunk/src/ZEO/StorageServer.py	2009-07-02 22:50:52 UTC (rev 101411)
@@ -1408,7 +1408,7 @@
     abortVersion = commitVersion
 
     def zeoLoad(self, oid):             # Z200
-        p, s = self.storage,loadEx(oid)
+        p, s = self.storage.loadEx(oid)
         return p, s, '', None, None
 
     def __getattr__(self, name):

Modified: ZODB/trunk/src/ZEO/tests/protocols.test
===================================================================
--- ZODB/trunk/src/ZEO/tests/protocols.test	2009-07-02 20:55:40 UTC (rev 101410)
+++ ZODB/trunk/src/ZEO/tests/protocols.test	2009-07-02 22:50:52 UTC (rev 101411)
@@ -96,7 +96,7 @@
     >>> os.remove('client-1.zec')
     >>> zope.testing.setupstack.rmtree('blobs')
     >>> zope.testing.setupstack.rmtree('server-blobs')
-    
+
 And the other way around:
 
     >>> addr, _ = start_server(storage_conf, dict(invalidation_queue_size=5))
@@ -165,6 +165,20 @@
     >>> conn.root()['blob2'].open().read()
     'blob data 2'
 
+Make some old protocol calls:
+
+    >>> db.storage._server.rpc.call('getSerial', conn.root()._p_oid
+    ...      ) == conn.root()._p_serial
+    True
+
+    >>> p, s, v, x, y = db.storage._server.rpc.call('zeoLoad',
+    ...                                             conn.root()._p_oid)
+    >>> (v, x, y) == ('', None, None)
+    True
+    >>> db.storage.load(conn.root()._p_oid) == (p, s)
+    True
+
+
     >>> db2.close()
     >>> db.close()
 



More information about the Zodb-checkins mailing list