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
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/
ZODB-Dev mailing list - [email protected]
https://mail.zope.org/mailman/listinfo/zodb-dev