> We have been experiencing some ConnectionStateError in a Zope 2 based 
> application.
> Looking for info on the web makes me almost 100% sure that we have a bug 
> in our application layer.
> I understand that I should look for persistent objects stored in module 
> or class level variables (which imply shared by threads and thus 
> connections). Do not hesitate to tell me if this is a wrong explanation 
> of the potential cause of ConnectionStateError.

I've experienced this error, and that was indeed the cause. IIRC, in the case 
of the app I was dealing with at the time, it had managed to register a 
persistent object as a utility - and so ended up in the situation where the 
application tried to load the object using the wrong database connection.

The moral of the story here is that there are more places than just module 
level globals to look :)

It happened some time ago, so I'm afraid I cannot recall how we debugged it 
(only the amount of facepalming when we did.) I suspect finding out what the 
type of object was turned out to be a good indicator in our case, as it would 
only have been used in a couple of places. 

Dan Fairs | dan.fa...@gmail.com | www.fezconsulting.com

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

Reply via email to