[ZODB-Dev] Subtransaction backward compatibility

Jim Fulton jim at zope.com
Tue Aug 23 14:53:29 EDT 2005


Tim Peters wrote:
> [Dieter Maurer]
> 
>>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.
> 
> 
> Jim, was the latter intentional?  It surprised me when Dieter pointed it
> out, and in the ZODB NEWS file I explicitly implied <wink> otherwise.

Later what?  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


-- 
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 ZODB-Dev mailing list