[ZODB-Dev] Problem with RelStorage zodbpack
Erik Dahl
edahl at erikdahl.org
Tue Mar 29 21:39:11 EDT 2011
I was running a pack and canceled so that I could reboot my box. After it came back up I tried to restart the pack and got this:
2011-03-29 20:53:07,259 [zodbpack] INFO Opening storage (RelStorageFactory)...
2011-03-29 20:53:07,457 [zodbpack] INFO Packing storage (RelStorageFactory).
2011-03-29 20:53:07,464 [relstorage] INFO pack: analyzing transactions committed Tue Mar 29 20:49:48 2011 or before
2011-03-29 20:53:07,465 [relstorage.adapters.packundo] INFO pre_pack: start with gc enabled
2011-03-29 20:53:08,846 [relstorage.adapters.packundo] INFO discovering references from objects in 178910 transaction(s)
2011-03-29 20:53:10,808 [relstorage.adapters.packundo] ERROR pre_pack: failed
Traceback (most recent call last):
File "/opt/zenoss/lib/python2.6/site-packages/RelStorage-1.4.2-py2.6.egg/relstorage/adapters/packundo.py", line 431, in pre_pack
conn, cursor, pack_tid, get_references)
File "/opt/zenoss/lib/python2.6/site-packages/RelStorage-1.4.2-py2.6.egg/relstorage/adapters/packundo.py", line 525, in _pre_pack_with_gc
self.fill_object_refs(conn, cursor, get_references)
File "/opt/zenoss/lib/python2.6/site-packages/RelStorage-1.4.2-py2.6.egg/relstorage/adapters/packundo.py", line 347, in fill_object_refs
added += self._add_refs_for_tid(cursor, tid, get_references)
File "/opt/zenoss/lib/python2.6/site-packages/RelStorage-1.4.2-py2.6.egg/relstorage/adapters/packundo.py", line 397, in _add_refs_for_tid
self.runner.run_many(cursor, stmt, add_rows)
File "/opt/zenoss/lib/python2.6/site-packages/RelStorage-1.4.2-py2.6.egg/relstorage/adapters/scriptrunner.py", line 90, in run_many
cursor.executemany(stmt, items)
File "build/bdist.linux-x86_64/egg/MySQLdb/cursors.py", line 206, in executemany
r = r + self.execute(query, a)
File "build/bdist.linux-x86_64/egg/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "build/bdist.linux-x86_64/egg/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
IntegrityError: (1062, "Duplicate entry '255911127406517196-2714-893440' for key 'PRIMARY'")
Traceback (most recent call last):
File "/opt/zenoss/bin/zodbpack", line 8, in <module>
load_entry_point('RelStorage==1.4.2', 'console_scripts', 'zodbpack')()
I'm in process of running mysqlcheck against the database and I have the application off line. I've looked at the code but I'm not 100% what it's trying to do. Thoughts? Is my database hosed? or just my packing process.
-EAD
More information about the ZODB-Dev
mailing list