[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