diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 24a880fbdda51ca252513043c381f1b3485812b3..2e281e16356a1b16a67c42b6c7f94c4371b8aea2 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -2,7 +2,7 @@ Change History ================ -3.9.0b2 (2009-07-02) +3.9.0b2 (2009-07-??) ==================== Bugs Fixed @@ -11,6 +11,8 @@ Bugs Fixed - 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) ==================== diff --git a/src/ZEO/StorageServer.py b/src/ZEO/StorageServer.py index 105e8a303cab53a42d4934eb838d4824e30eacb3..e3d2108b8d9d55e58d92bff9614b6ad28150adeb 100644 --- a/src/ZEO/StorageServer.py +++ b/src/ZEO/StorageServer.py @@ -1408,7 +1408,7 @@ class ZEOStorage308Adapter: 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): diff --git a/src/ZEO/tests/protocols.test b/src/ZEO/tests/protocols.test index 599122064b2fe80f99e784408970a8d0beed59e8..fe53f157c89d074e46134b50837a7a4747e6a9b8 100644 --- a/src/ZEO/tests/protocols.test +++ b/src/ZEO/tests/protocols.test @@ -96,7 +96,7 @@ Note that when taking to a 3.8 server, iteration won't work: >>> 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 @@ Note that we'll have to pull some hijinks: >>> 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()