[Zodb-checkins] SVN: ZODB/trunk/src/ZEO/ Fixed a bug that could cause invalidations for clients of storage

Jim Fulton jim at zope.com
Fri Sep 5 13:56:56 EDT 2008


Log message for revision 90881:
  Fixed a bug that could cause invalidations for clients of storage
  servers that serve ZEO clients (use ZEO clients as their storages) to
  be delayed.
  

Changed:
  U   ZODB/trunk/src/ZEO/StorageServer.py
  U   ZODB/trunk/src/ZEO/tests/registerDB.test

-=-
Modified: ZODB/trunk/src/ZEO/StorageServer.py
===================================================================
--- ZODB/trunk/src/ZEO/StorageServer.py	2008-09-05 17:56:54 UTC (rev 90880)
+++ ZODB/trunk/src/ZEO/StorageServer.py	2008-09-05 17:56:56 UTC (rev 90881)
@@ -1062,10 +1062,11 @@
         # connections indirectoy by closing them.  We don't care about
         # later transactions since they will have to validate their
         # caches anyway.
-        connections = connections[:]        
+        connections = connections[:]
         for p in connections:
             try:
                 p.connection.should_close()
+                p.connection.trigger.pull_trigger()
             except ZEO.zrpc.error.DisconnectedError:
                 pass
         

Modified: ZODB/trunk/src/ZEO/tests/registerDB.test
===================================================================
--- ZODB/trunk/src/ZEO/tests/registerDB.test	2008-09-05 17:56:54 UTC (rev 90880)
+++ ZODB/trunk/src/ZEO/tests/registerDB.test	2008-09-05 17:56:56 UTC (rev 90881)
@@ -61,7 +61,15 @@
     ...         self.mgr.close_conn(self)
     ...     def poll(self):
     ...         pass
+    ...
+    ...     @property
+    ...     def trigger(self):
+    ...         return self
+    ...
+    ...     def pull_trigger(self):
+    ...         pass
 
+
     >>> class ZEOStorage:
     ...     def __init__(self, server, name):
     ...         self.name = name



More information about the Zodb-checkins mailing list