[Zodb-checkins] SVN: ZODB/branches/3.4/ LP #142667: update _reader to use new cache in _resetCache.
Tres Seaver
tseaver at palladion.com
Thu Oct 9 20:43:13 EDT 2008
Log message for revision 91949:
LP #142667: update _reader to use new cache in _resetCache.
Changed:
U ZODB/branches/3.4/NEWS.txt
U ZODB/branches/3.4/src/ZODB/Connection.py
U ZODB/branches/3.4/src/ZODB/tests/testConnection.py
-=-
Modified: ZODB/branches/3.4/NEWS.txt
===================================================================
--- ZODB/branches/3.4/NEWS.txt 2008-10-10 00:35:06 UTC (rev 91948)
+++ ZODB/branches/3.4/NEWS.txt 2008-10-10 00:43:13 UTC (rev 91949)
@@ -1,3 +1,15 @@
+What's new in ZODB3 3.4.5?
+==========================
+Release date: 09-Oct-2008 (internal release for Zope 2.8.10)
+
+Connection
+----------
+
+- (3.4.5) Reset ``_cache`` on a connection's ``_reader`` object when
+ resetting the cache, to prevent reads from the old cache object, e.g.
+ during Zope2's auto-refresh of products.
+ (https://bugs.launchpad.net/zodb/+bug/142667).
+
What's new in ZODB3 3.4.4?
==========================
Release date: 14-Jul-2006 (internal release for Zope 2.8.8)
@@ -6,8 +18,8 @@
-----------
- (3.4.4b1) DemoStorage was unable to wrap base storages who did not have
- an '_oid' attribute: most notably, ZEO.ClientStorage
- (http://www.zope.org/Collectors/Zope/2016).
+ an '_oid' attribute: most notably, ZEO.ClientStorage
+ (http://www.zope.org/Collectors/Zope/2016).
What's new in ZODB3 3.4.3?
==========================
Modified: ZODB/branches/3.4/src/ZODB/Connection.py
===================================================================
--- ZODB/branches/3.4/src/ZODB/Connection.py 2008-10-10 00:35:06 UTC (rev 91948)
+++ ZODB/branches/3.4/src/ZODB/Connection.py 2008-10-10 00:43:13 UTC (rev 91949)
@@ -928,6 +928,8 @@
self._invalidated.clear()
cache_size = self._cache.cache_size
self._cache = cache = PickleCache(self, cache_size)
+ if getattr(self, '_reader', None) is not None:
+ self._reader._cache = cache
##########################################################################
# Python protocol
Modified: ZODB/branches/3.4/src/ZODB/tests/testConnection.py
===================================================================
--- ZODB/branches/3.4/src/ZODB/tests/testConnection.py 2008-10-10 00:35:06 UTC (rev 91948)
+++ ZODB/branches/3.4/src/ZODB/tests/testConnection.py 2008-10-10 00:43:13 UTC (rev 91949)
@@ -140,6 +140,14 @@
self.datamgr.tpc_finish(self.transaction)
self.assert_(obj._p_oid not in self.datamgr._storage._stored)
+ def check__resetCacheResetsReader(self):
+ # https://bugs.launchpad.net/zodb/+bug/142667
+ old_cache = self.datamgr._cache
+ self.datamgr._resetCache()
+ new_cache = self.datamgr._cache
+ self.failIf(new_cache is old_cache)
+ self.failUnless(self.datamgr._reader._cache is new_cache)
+
class UserMethodTests(unittest.TestCase):
# add isn't tested here, because there are a bunch of traditional
More information about the Zodb-checkins
mailing list