[Zope] ZODB A storage error occured during transaction abort.
Dennis Allison
allison at sumeru.stanford.EDU
Tue Jan 13 21:53:42 EST 2004
This is new in code that has been running for ages. The impact is
significant--it brings the system to a halt, restarting is the only
option. The database appears to have been left unsullied.
QLOG is a ZSQL method that saves some data in the database. It
references an external method that generates a string that's guaranteed
to be unique. It keeps its persistent state in the local file system
and uses file locking--all outside of the usual Zope context. The
database method references a Zope python script method which computes
a portion of the SQL query. There's nothing unusual about the script
but for the fact that it embeds a sub-procedure.
I read Dieter's lucid description of the source of this error in the
mailing list archives, but I am at a loss to identify the method that
registers the surrogate and does not have an _p_oid instance.
This is all running on Zope 2.6.2b3, Python 2.3.1, RH7.3.
I know there was a bug in 2.6.1 of this sort, but I believe it was
expunged.
>From the error log:
2004-01-13T17:15:21 ERROR(200) ZODB A storage error occured during
transaction abort. This shouldn't happen.
Traceback (innermost last):
File /home/zopesys/lib/python/ZODB/Transaction.py, line 262, in commit
File /home/zopesys/lib/python/ZODB/Transaction.py, line 393, in
_commit_error
AttributeError: Surrogate instance has no attribute '_p_oid'
------
2004-01-13T17:15:21 INFO(0) ZODB conflict error at /lms/QLOG (2 conflicts
since startup at 2004-01-13T12:24:00)
------
2004-01-13T17:29:07 INFO(0) Z2 Caught signal SIGTERM
------
2004-01-13T17:29:07 INFO(0) Z2 Closing all open ZODB databases
------
Any help tracking this one down appreciated.
More information about the Zope
mailing list