[Zope-dev] Making a ZSQL.DA fully multi-threaded?

Brad Clements bkc at murkworks.com
Fri Jul 23 09:53:58 EDT 2004


On 23 Jul 2004 at 10:58, Chris Withers wrote:

> Dieter Maurer wrote:
> > 
> > All DA's I saw up to now, do a reconnect.
> 
> ZOracleDA didn't...
> 
> > But this is *WRONG" -- as part of a transaction may have been lost.
> > After "reconnecting", they should raise an exception
> > derived from "ConflictError" and let the complete request retry.

Perhaps I don't understand, but how could their be a missing transaction?

Zope starts, connects to database

Zero or more transactions occur

Zope is idle for some period of time

Z new transaction arrives, some transactions occur in ZODB. A transaction is attempted on 
a database connection. The DA  gets a 'your connection has timed out' error from the db 
connection. It reconnects, it retries the transaction, no error occurs, so DA returns success.

This is the way gvibDA works. It reconnects and retries. 

Where are transactions lost in this scenario?  Remember, I'm talking about the DA catching 
"connectioned timed out" due to idle activity, and no other DB exceptions.




-- 
Brad Clements,                bkc at murkworks.com   (315)268-1000
http://www.murkworks.com                          (315)268-9812 Fax
http://www.wecanstopspam.org/                   AOL-IM: BKClements



More information about the Zope-Dev mailing list