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
Zope maillist  -  Zope@zope.org
**   No cross posts or HTML encoding!  **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to