[Zodb-checkins] SVN: ZODB/trunk/src/ZEO/ClientStorage.py The order of operations seemed odd. If we get a new connection, we
Jim Fulton
jim at zope.com
Fri Aug 29 08:55:21 EDT 2008
Log message for revision 90587:
The order of operations seemed odd. If we get a new connection, we
should close the old connection, and mark ourselves dissconnected --
or so it seems. :) I'm chasing connection-invalidation bugs and this
rearrangement makes the logic seem a bit simpler to me and sets the
stage for a later fix for the invalidation problems.
Changed:
U ZODB/trunk/src/ZEO/ClientStorage.py
-=-
Modified: ZODB/trunk/src/ZEO/ClientStorage.py
===================================================================
--- ZODB/trunk/src/ZEO/ClientStorage.py 2008-08-29 12:55:01 UTC (rev 90586)
+++ ZODB/trunk/src/ZEO/ClientStorage.py 2008-08-29 12:55:19 UTC (rev 90587)
@@ -491,23 +491,25 @@
# this method before it was stopped.
return
- # invalidate our db cache
- if self._db is not None:
- self._db.invalidateCache()
if self._connection is not None:
+ # If we are upgrading from a read-only fallback connection,
+ # we must close the old connection to prevent it from being
+ # used while the cache is verified against the new connection.
+ self._connection.close()
+ self._connection = None
+ self._ready.clear()
reconnect = 1
else:
reconnect = 0
+
self.set_server_addr(conn.get_addr())
-
- # If we are upgrading from a read-only fallback connection,
- # we must close the old connection to prevent it from being
- # used while the cache is verified against the new connection.
- if self._connection is not None:
- self._connection.close()
self._connection = conn
+ # invalidate our db cache
+ if self._db is not None:
+ self._db.invalidateCache()
+
if reconnect:
log2("Reconnected to storage: %s" % self._server_addr)
else:
More information about the Zodb-checkins
mailing list