[Zodb-checkins] SVN: ZODB/trunk/src/ZEO/ Updated ZEO protocol version to reflect addition of

Jim Fulton jim at zope.com
Fri Sep 3 09:56:13 EDT 2010


Log message for revision 116175:
  Updated ZEO protocol version to reflect addition of
  checkCurrentSerialInTransaction.
  
  Add logic to allow new clients to be used with older servers.
  

Changed:
  U   ZODB/trunk/src/ZEO/ClientStorage.py
  U   ZODB/trunk/src/ZEO/zrpc/connection.py

-=-
Modified: ZODB/trunk/src/ZEO/ClientStorage.py
===================================================================
--- ZODB/trunk/src/ZEO/ClientStorage.py	2010-09-03 10:58:03 UTC (rev 116174)
+++ ZODB/trunk/src/ZEO/ClientStorage.py	2010-09-03 13:56:12 UTC (rev 116175)
@@ -632,6 +632,11 @@
         if self._client_label and conn.peer_protocol_version >= "Z310":
             stub.set_client_label(self._client_label)
 
+        if conn.peer_protocol_version < "Z3101":
+            logger.warning("Old server doesn't suppport "
+                           "checkCurrentSerialInTransaction")
+            self.checkCurrentSerialInTransaction = lambda *args: None
+
         self._oids = []
         self.verify_cache(stub)
 

Modified: ZODB/trunk/src/ZEO/zrpc/connection.py
===================================================================
--- ZODB/trunk/src/ZEO/zrpc/connection.py	2010-09-03 10:58:03 UTC (rev 116174)
+++ ZODB/trunk/src/ZEO/zrpc/connection.py	2010-09-03 13:56:12 UTC (rev 116175)
@@ -242,20 +242,21 @@
     #             undoa
     #         Doesn't support undo for older clients.
     #         Undone oid info returned by vote.
-    #         readCurrent
+    #
+    # Z3101 -- checkCurrentSerialInTransaction
 
     # Protocol variables:
     # Our preferred protocol.
-    current_protocol = "Z310"
+    current_protocol = "Z3101"
 
     # If we're a client, an exhaustive list of the server protocols we
     # can accept.
-    servers_we_can_talk_to = ["Z308", "Z309", current_protocol]
+    servers_we_can_talk_to = ["Z308", "Z309", "Z310", current_protocol]
 
     # If we're a server, an exhaustive list of the client protocols we
     # can accept.
     clients_we_can_talk_to = [
-        "Z200", "Z201", "Z303", "Z308", "Z309", current_protocol]
+        "Z200", "Z201", "Z303", "Z308", "Z309", "Z310", current_protocol]
 
     # This is pretty excruciating.  Details:
     #



More information about the Zodb-checkins mailing list