[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