Re: [Zope] Re: session variables in the presence of conflicts

2005-11-20 Thread Chris McDonough


Sorry, I noticed in another email you said that you're using 2.0.9  
(which appears to be in beta) and I confirmed that the traceback  
matches that source.  The note in the product's CHANGES.txt about  
this is:


Wrap queries with a lock to prevent multiple threads from using
the connection simultaneously (this may or may not be happening).
If transactional, then there is an additional transaction lock,
acquired at the beginning of the transaction and released when
either finished or aborted.

The last sentence is the meaningful one in your case.  I'm not sure  
if this is a bug fix but you may want to try 2.0.8 if you haven't  
already because it doesn't use a transaction lock (or any other  
lock).  It seems as if the logic in 2.0.9b to obtain the transaction  
lock fails to take some corner case into account, although it's not  
obvious from the code what that is.


On Nov 20, 2005, at 1:55 PM, Chris McDonough wrote:


Hi Dennis,

I notice that line 389 of db.py of the most recent ZMySQLDA (2.0.8)  
doesn't match the traceback you show.  No mutex locking at all is  
done in the 2.0.8 version of that module (or any other module in  
that product).  Are you using an older version?


- C


On Nov 20, 2005, at 9:57 AM, Dennis Allison wrote:



Florent,
There were, of course, tracebacks.  Any assist you can provide  
would be

appreciated.   -D

--
2005-11-18T12:50:16 ERROR txn.3075 Error in tpc_abort() on manager  
at 0x450431cc> at 1190763820>

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 462, in _cleanup

rm.tpc_abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 548, in tpc_abort

self.manager.tpc_abort(txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in  
_abort

self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Error in tpc_abort() on manager  
at 0x41487acc> at 1190774252>

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 462, in _cleanup

rm.tpc_abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 548, in tpc_abort

self.manager.tpc_abort(txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in  
_abort

self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 INFO ZODB conflict error at /courses/topics/ 
navigation_box (55 conflicts since startup at 2005-11-18T12:13:38)

--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort object:  
Surrogate oid=

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 562, in abort

self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in  
_abort

self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort resource  
manager: instance at 0x450431cc> at 1190763820>

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 489, in abort

rm.abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 562, in abort

self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in  
_abort

self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort object:  
Surrogate oid=

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 562, in abort

self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in  
_abort

self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort resource  
manager: instance at 0x41487acc> at 1190774252>

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 489, in abort

rm.abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 562, in abort

self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zp

Re: [Zope] Re: session variables in the presence of conflicts

2005-11-20 Thread Chris McDonough

Hi Dennis,

I notice that line 389 of db.py of the most recent ZMySQLDA (2.0.8)  
doesn't match the traceback you show.  No mutex locking at all is  
done in the 2.0.8 version of that module (or any other module in that  
product).  Are you using an older version?


- C


On Nov 20, 2005, at 9:57 AM, Dennis Allison wrote:



Florent,
There were, of course, tracebacks.  Any assist you can provide  
would be

appreciated.   -D

--
2005-11-18T12:50:16 ERROR txn.3075 Error in tpc_abort() on manager  
at 0x450431cc> at 1190763820>

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 462, in _cleanup

rm.tpc_abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 548, in tpc_abort

self.manager.tpc_abort(txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in  
_abort

self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Error in tpc_abort() on manager  
at 0x41487acc> at 1190774252>

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 462, in _cleanup

rm.tpc_abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 548, in tpc_abort

self.manager.tpc_abort(txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in  
_abort

self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 INFO ZODB conflict error at /courses/topics/ 
navigation_box (55 conflicts since startup at 2005-11-18T12:13:38)

--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort object:  
Surrogate oid=

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 562, in abort

self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in  
_abort

self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort resource  
manager: instance at 0x450431cc> at 1190763820>

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 489, in abort

rm.abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 562, in abort

self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in  
_abort

self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort object:  
Surrogate oid=

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 562, in abort

self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in  
_abort

self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort resource  
manager: instance at 0x41487acc> at 1190774252>

Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 489, in abort

rm.abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/ 
_transaction.py", line 562, in abort

self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/ 
TM.py", line 64, in abort

try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in  
_abort

self._tlock.release()
error: release unlocked lock
--


On Sat, 19 Nov 2005, Florent Guillaume wrote:


Dennis Allison wrote:

We are using MySQL but are fully transactional using innodb.

The sort of problems we are seeing are (cruft removed) are things  
like:


2005-11-18T12:50:16 ERROR txn.3075 Error in tpc_abort() on manager
 at 1190763820>


There should be a traceback here, or if there's none you should patch
_transaction.py to make it produced. Seeing that traceback is  
important

and would point to an error somewhere in MySQLDA's code I expect.


2005-11-18T12:50:16 ERROR txn.3075 Failed to abort resource manager:
 at 1190763820>
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort object: Surrogate
oid=
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort resource manager:
 at 1190774252>


Same here, the traceback is important.

Florent




--

_

Re: [Zope] Re: session variables in the presence of conflicts

2005-11-20 Thread Dennis Allison

That was my conclusion long ago, but I have not been able to track it
down.  It only occurs under heavy load when backing out of a conflict
error.  I have not been successful at creating a test set that triggers 
it.

I suppose it is time to again read the ZMySQLDA code...   There are a few 
comments on the net about problems with MySQLDA which may also be related.


On Sun, 20 Nov 2005, Florent Guillaume wrote:

> Dennis Allison wrote:
> > Florent,
> > There were, of course, tracebacks.  Any assist you can provide would be 
> > appreciated.   -D
> > 
> > --
> > 2005-11-18T12:50:16 ERROR txn.3075 Error in tpc_abort() on manager 
> >  > 0x450431cc> at 1190763820>
> > Traceback (most recent call last):
> >   File 
> > "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", line 
> > 462, in _cleanup
> > rm.tpc_abort(self)
> >   File 
> > "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", line 
> > 548, in tpc_abort
> > self.manager.tpc_abort(txn)
> >   File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/TM.py", line 
> > 64, in abort
> > try: self._abort()
> >   File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in _abort
> > self._tlock.release()
> > error: release unlocked lock
> 
> Well undoubtedly the bug is in ZMySQLDA...
> 
> Florent
> 
> 
> 

-- 

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


Re: [Zope] Re: session variables in the presence of conflicts

2005-11-20 Thread Dennis Allison

Florent,
There were, of course, tracebacks.  Any assist you can provide would be 
appreciated.   -D

--
2005-11-18T12:50:16 ERROR txn.3075 Error in tpc_abort() on manager 
 at 1190763820>
Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", 
line 462, in _cleanup
rm.tpc_abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", 
line 548, in tpc_abort
self.manager.tpc_abort(txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/TM.py", line 64, 
in abort
try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in _abort
self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Error in tpc_abort() on manager 
 at 1190774252>
Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", 
line 462, in _cleanup
rm.tpc_abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", 
line 548, in tpc_abort
self.manager.tpc_abort(txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/TM.py", line 64, 
in abort
try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in _abort
self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 INFO ZODB conflict error at /courses/topics/navigation_box 
(55 conflicts since startup at 2005-11-18T12:13:38) 
--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort object: Surrogate 
oid=
Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", 
line 562, in abort
self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/TM.py", line 64, 
in abort
try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in _abort
self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort resource manager: 
 at 1190763820>
Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", 
line 489, in abort
rm.abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", 
line 562, in abort
self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/TM.py", line 64, 
in abort
try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in _abort
self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort object: Surrogate 
oid=
Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", 
line 562, in abort
self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/TM.py", line 64, 
in abort
try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in _abort
self._tlock.release()
error: release unlocked lock
--
2005-11-18T12:50:16 ERROR txn.3075 Failed to abort resource manager: 
 at 1190774252>
Traceback (most recent call last):
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", 
line 489, in abort
rm.abort(self)
  File "/usr/local/src/zope/Zope2.8/lib/python/transaction/_transaction.py", 
line 562, in abort
self.manager.abort(o, txn)
  File "/usr/local/src/zope/Zope2.8/lib/python/Shared/DC/ZRDB/TM.py", line 64, 
in abort
try: self._abort()
  File "/opt/zope/zproducts/standard/ZMySQLDA/db.py", line 389, in _abort
self._tlock.release()
error: release unlocked lock
--


On Sat, 19 Nov 2005, Florent Guillaume wrote:

> Dennis Allison wrote:
> > We are using MySQL but are fully transactional using innodb.
> > 
> > The sort of problems we are seeing are (cruft removed) are things like:
> > 
> > 2005-11-18T12:50:16 ERROR txn.3075 Error in tpc_abort() on manager 
> >  > 0x450431cc> at 1190763820>
> 
> There should be a traceback here, or if there's none you should patch 
> _transaction.py to make it produced. Seeing that traceback is important 
> and would point to an error somewhere in MySQLDA's code I expect.
> 
> > 2005-11-18T12:50:16 ERROR txn.3075 Failed to abort resource manager: 
> >  > 0x450431cc> at 1190763820>
> > 2005-11-18T12:50:16 ERROR txn.3075 Failed to abort object: Surrogate 
> > oid=
> > 2005-11-18T12:50:16 ERROR txn.3075 Failed to abort resource manager: 
> >  > 0x41487acc> at 1190774252>
> 
> Same here, the traceback is important.
> 
> Florent
> 
> 

-- 

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