[Zope-dev] Making a ZSQL.DA fully multi-threaded?
Brad Clements
bkc at murkworks.com
Fri Jul 16 10:36:27 EDT 2004
On 16 Jul 2004 at 8:57, Chris Withers wrote:
> This often means that many more database connections are opened than are
> actually necessary. And if you start timing out inactive database
> connectiosn on the database side, you're in for a world of pain and
> suffering.
>
> I branched ZOracleDA some time ago to move away from this model for that
> very reason...
>
> What's the actual problem you're experiencing?
I have set the SAPDB timeout to 32400 seconds. However when running with more than 1
thread I still get "mysterious segfaults" in the sapdbapi component.
The SAP folks say their adapter is "multi-thread capable", but I've come to believe that only
means that it's ok to open a connection in one thread and use it in another, but NOT to have
2 threads make requests on the same connection at the same time.
Also, two threads can' t open a connection "at the same time" because their connection table
management isn't "thread safe".
What I need, I suppose, is a DB connection pool mechanism of some kind. I also have
Python extensions that need a connection as well. Getting the actual database connection
from a DA stinks (ie, it's not really possible). I'd like to see an API extension to ZopeDA's to
allow Pythonscripts, Products and external methods get an actual db connection. But that I
suppose is a problem to solve later.
I think I will take a look at ZOracleDA to see what you did.
--
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