> Dario Lopez-Kästen said the following on 11/17/2006 01:07 PM:
>>> Do you know these reasons?
>> yes, we sometimes get deadlocks in the database, net outages and general
>> misbehavior of DCO2. 
> Sorry, i am casting too much blame on DCO2 here; in reality we have a
> combination of zope2.6, large file uploads and downloads, not
> necessarily good code on our end, AND quite a lot of DCO2 strangeness.
You say deadlocks... Do you use DCOracle2 Stored Procedures?? If so,
then there is a bug in it's definition that may cause Oracle deadlocks.

In SP.py there is function __call__ and code like:

    # Note, this does not do result promotion like the DA query will
    # which is probably bad.  OracleDates in particular look like
    # DateTimes but arent at all the same!
    results = apply(self._v_proc,args,kw)
    return self._lobConvert(self._v_db, results)
     self._v_proc = None
     raise                          # Reraise error

AFAIR you may change this to:

     self._v_proc = None
     raise                          # Reraise error

Possibly you may need to change these too:

def _abort(self):


def _abort(self):
    if self.db:

Otherwise, when during request you've called only one stored procedure
(no other zsqlmethods etc.) and this SP raised an exception, there
may be no rollback to Oracle.

Maciej Wisniowski
Zope maillist  -  Zope@zope.org
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to