[Zope] database connection problem (halting Zope)
Dieter Maurer
dieter@handshake.de
Tue, 3 Oct 2000 23:16:39 +0200 (CEST)
Hrasky Petr writes:
> thank you for answers. To clarify:
> I run Zope-2.2.2/Linux2.2.14/MySQL-ZMySQLDA1.1.3nonbin at home and
> Zope-2.2.2-binary/NT4.0Workstation/ZODBCDA3.1.0b2 (Oracle 8i ODBC,
> Sybase11.5)at work. Oracle connection at work and MySQL (at home just
> for testing) run looong queries and halt Zope. I have no such queries
> for Sybase yet.
> I will try to recompile python for linux, but I can't do so for WinNT
> as I have no compiler. Anyway I thought the python distributed with
> binary release of Zope is threaded, no?
If Python is compiled without threads, there is no module
"thread". Zope relies on this module. It dies immediately,
if it is not there. Thus, you can be sure, your
Python has thread support compiled in.
> So, does anybody know of either binary and threaded Zope driver for
> Oracle , Sybase etc. or the same ODBC driver? And what is the state of
> python threading on WinNT paltform?
The Python that comes with Zope has thread support compiled in.
Maybe, your Python-ODBC connection "forgets" to release
Python's interpreter lock.
We, once, had such a problem.
Accidentally, the DCOracle module had been set up with a standard
Python distribution (with threading disabled) rather
than the Zope Python. As a consequence, the
DCOracle did not call "releaseLock" and
"acquireLock" (as they would not be present
in a non-threaded Python).
And, of course, database operations blocked Zope.
Dieter