Hi there,<br><br>We have recently experienced a couple of PosKey errors with a Plone 4 site running RelStorage 1.4.1 and Mysql 5.1.<br><br>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.<br>
<br>After inserting the missing pointers into the current_object table, everything worked fine:<br><br> mysql> SELECT zoid, tid FROM object_state WHERE zoid="561701";<br><br> +--------+--------------------+<br>
| zoid | tid |<br> +--------+--------------------+<br> | 561701 | 255267099158685832 |<br> +--------+--------------------+<br><br> mysql> INSERT INTO current_object(zoid, tid) VALUES('561701', '255267099158685832');<br>
<br>Looks like it works -- but is this a safe way to fix PosKeyErrors?<br><br>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). <br>
<br>But I don't know how to investigate the root cause further. Ideas?<br><br><br>/Anton<br>