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 )