Only to give some feedback:
I had similar issues on past and now I follow some rules:
- pack only with zodbpack
- pack-gc = false
- pack when the database is not been active update or not update at all.
But it does not imply RelStorage bug, since MySQL is know to not be so "safe".
I'm happy that Chris Withers has been some investigation and test to
discover possible issues.
I have a large database (15G) and I can help running tests to give
On Mon, Jan 24, 2011 at 6:02 PM, Anton Stonor <an...@headnet.dk> wrote:
> 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',
> 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?
> For more information about ZODB, see the ZODB Wiki:
> ZODB-Dev mailing list - ZODB-Dev@zope.org
Rudá Porto Filgueiras
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org