[ZODB-Dev] RelStorage and PosKey errors - is this a risky hotfix?
Anton Stonor
anton at headnet.dk
Mon Jan 24 16:02:02 EST 2011
Hi there,
We have recently experienced a couple of PosKey errors with a Plone 4 site
running RelStorage 1.4.1 and Mysql 5.1.
After digging down we found that the objects that were throwing
PosKeyErrors actually existed in the object_state table with pickles etc,
however not in the current_object table.
After inserting the missing pointers into the current_object table,
everything worked fine:
mysql> SELECT zoid, tid FROM object_state WHERE zoid="561701";
+--------+--------------------+
| zoid | tid |
+--------+--------------------+
| 561701 | 255267099158685832 |
+--------+--------------------+
mysql> INSERT INTO current_object(zoid, tid) VALUES('561701',
'255267099158685832');
Looks like it works -- but is this a safe way to fix PosKeyErrors?
Now, I wonder why these pointers were deleted from the current_object table
in the first place. My money is on packing -- and it might fit with the fact
that we recently ran a pack that removed an unusual large amount of
transactions in a single pack (100.000+ transactions).
But I don't know how to investigate the root cause further. Ideas?
/Anton
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/zodb-dev/attachments/20110124/17234652/attachment.html
More information about the ZODB-Dev
mailing list