On 10/26/06, Jürgen Herrmann <[EMAIL PROTECTED]> wrote:


On Thu, October 26, 2006 14:53, Marco Bizzarri wrote:
> Storing persistent object in object outside of ZODB can incur in the
> problem of passing object(s) between threads, and, therefore, passing
> one object which is related to a connection on the ZODB to another
> context with a different connection.

ok, this is probably the problem here, so would haveing a cache dict
for each thread help? there are only about 50-100 containers so the
memory overhead would be neglible compared to the performance gained.

Yes, this should probably resolve your issue.

>
> Also, AFAIK, keep in mind _v_ attributes are not involved in
> transaction machinery of Zope. This means that if you have an error
> inside you transaction after you modified the _v_ cache, you will have
> the cache modified even tough the transaction has been aborted.
not a real problem as class instance containers are very static.

I understand, we hit this problem while caching object obtained from
database rows... and in case of failure cache became unreliable.

I'm keeping the answer on the ML, if you don't mid.

--
Marco Bizzarri
http://iliveinpisa.blogspot.com/
_______________________________________________
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to