[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.
> 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:

-----Original Message-----
From: [EMAIL PROTECTED] On behalf of Jim Fulton
Sent: Tuesday, August 23, 2005 2:53 PM
To: Tim Peters
Cc: zodb-dev@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:[EMAIL PROTECTED]       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to