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

Jim Fulton jim at zope.com
Tue Feb 17 16:58:16 EST 2009


Log message for revision 96654:
  Fixed bug:
    Packing could return spurious errors due to errors notifying
    disconnected clients of new database size statistics.
  

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

-=-
Modified: ZODB/trunk/src/CHANGES.txt
===================================================================
--- ZODB/trunk/src/CHANGES.txt	2009-02-17 20:42:15 UTC (rev 96653)
+++ ZODB/trunk/src/CHANGES.txt	2009-02-17 21:58:16 UTC (rev 96654)
@@ -31,6 +31,9 @@
 - Packing a blob-enabled file storage in a ZEO server caused blob data
   to be lost.
 
+- Packing could return spurious errors due to errors notifying
+  disconnected clients of new database size statistics.
+
 3.9.0a10 (2009-01-05)
 =====================
 

Modified: ZODB/trunk/src/ZEO/StorageServer.py
===================================================================
--- ZODB/trunk/src/ZEO/StorageServer.py	2009-02-17 20:42:15 UTC (rev 96653)
+++ ZODB/trunk/src/ZEO/StorageServer.py	2009-02-17 21:58:16 UTC (rev 96654)
@@ -1116,15 +1116,14 @@
             invq.insert(0, (tid, invalidated))
 
         for p in self.connections.get(storage_id, ()):
-            if invalidated and p is not conn:
-                try:
+            try:
+                if invalidated and p is not conn:
                     p.client.invalidateTransaction(tid, invalidated)
-                except ZEO.zrpc.error.DisconnectedError:
-                    pass
+                elif info is not None:
+                    p.client.info(info)
+            except ZEO.zrpc.error.DisconnectedError:
+                pass
 
-            elif info is not None:
-                p.client.info(info)
-
     def get_invalidations(self, storage_id, tid):
         """Return a tid and list of all objects invalidation since tid.
 



More information about the Zodb-checkins mailing list