>> > >> > No, the mysql server is very loaded. > > Then how it's related to SQLObject? Timeouts between clients and the > server? > Maybe, there could be more simultaneous connections?
> The only place I could suspect is the call dbConnection.getConnection() > in Transaction.__init__(). > I don't understand how this code works. Why is the transaction stored into the threadlocal (in doInTransaction)? Why doesn't the transaction stay local to the doInTransaction function? Who would retrieve this transaction and make possible collisions? Shouldn't this removed? >> I forgot to say. It looks that once this happened once, all upcoming >> transactions fail the same way. Why do I have to restart my application to stop this? >> So the __getattr__ method should be called, doesn't it? >> __getattr__ first calls self.assertActive() which checks that _obsolete is >> False. > > No, self._connection is assigned: > self._connection = dbConnection.getConnection(). After this __getattr__ is > never called on accessing the self._connection. __getattr__ is called on > accessing non-existing attributes. In the Transaction class it is used to > delegate attribute access to the underlying connection. > Ok I didn't know this. >> > What connection have you assigned to hubNoCache? It seems it's a (rolled >> > back) transaction, not a simple connection. >> > >> > >> hubNoCache=ConnectionHub() >> hubNoCache.processConnection = connectionForURI(database+'&cache=') > > Looks good, nothing strange here. Could it be an old transaction is > stuck in hubNoCache? How could this happen? Shouldn't there a piece of code that would handle this case? If the transaction is not stored into the thread, this would never happen? > I recommend you to investigate it deeper: add a lot of debugging output > to the dbconnection.py to find out what is the connection, what is the > transaction and what is the attribute that cause the problem. > I will try to add some prints. As I have made some optimizations, it doesn't seem to happen again. Thank you very much for your support. ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ sqlobject-discuss mailing list sqlobject-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss