[Zope-dev] RE: [ZODB-Dev] Subtransaction backward compatibility
tim at zope.com
Tue Aug 23 15:07:37 EDT 2005
> Subtransactions used to be used for two purposes:
> * ensure that newly created objects get "_p_" attributes
> (especially "_p_jar" and "_p_oid")
> * release memory in the mid of large transactions
> (i.e. reading and/or writing large amounts of objects)
> With ZODB 3.4, subtransactions are implemented as savepoints. They can
> still be used for the first purpose. But, they no longer start cache
> garbage collection.
> As a consequence, subtransactions/savepoints can be dropped at places
> where only the second purpose has mattered, e.g. in Zope's ZCatalog.
Over on zodb-dev, Jim (Fulton) confirmed that it was his intent that making
a savepoint would trigger cache gc. It's a ZODB bug that it currently does
not; I'll fix that:
From: zodb-dev-bounces+tim=zope.com at zope.org On behalf of Jim Fulton
Sent: Tuesday, August 23, 2005 2:53 PM
To: Tim Peters
Cc: zodb-dev at zope.org
Subject: Re: [ZODB-Dev] Subtransaction backward compatibility
Assuming that we no longer call incrgc, that would be an oversight. When a
connection does a savepoint, it should also do an incrgc.
Note that applications that *really* want to reduce memory after a
savepoint may and often should make explicit cache-management calls
on the transaction. This should still work.
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the Zope-Dev