[Zope-DB] Zope, DCOracle2, concurrent transactions, etc.

Maciej Wisniowski maciej.wisniowski at coig.katowice.pl
Wed May 3 16:55:58 EDT 2006


Michael Mauws wrote:

> Thanks yet again, Dieter, particularly for putting to rest a few of
> the "solutions" I found while poking around. As you might expect, I've
> been continuing to explore this problem and, at the moment, I'm
> zeroing in on rollback segments. If this is indeed the problem, it
> would fit well with what you're saying....

Hi!

Rarely, but I have a similiar problems with Zope and Oracle - I mean
Zope stops responding. You can easily check what is the cause with
DeadlockDebugger, and I think you should definitely start your
debugging from this point.
In my case all Zope threads are hung in cursor.execute() line in DCOracle2
query (AFAIR) function - they're waiting for database to finish some 
queries.
Usually the problem is with long lasting queries and nervous users that are
clicking refresh buttons again and again.
Unfortunatelly sometimes the problem is different - queries are 'locked' in
Oracle. As db administrator says one query has locked a table and didn't
removed a lock, and all other queries are waiting for this. If db admin
executes commit/rollback to finish transactions everything starts working.
Restarting Zope is solution too. So far I don't know exactly why these
locks appear. They are rare - sometimes once a week or two and
thus difficult to track down.

I think it is a problem with Oracle procedures, but db admins say it
may be that Zope is not commiting some transactions (is this possible?).
I've added some code to DCOracle2 to log queries, and turned on debug
mode to be able to see what hapened with transactions in Zope, but now
I'm waiting for the problem to appear.

Maybe your problem is something similiar.

-- 
Maciej Wisniowski


More information about the Zope-DB mailing list