[ZODB-Dev] RelStorage pack with history-free storage results in POSKeyErrors
Shane Hathaway
shane at hathawaymix.org
Wed Jan 26 17:38:55 EST 2011
On 01/26/2011 03:21 PM, Chris Withers wrote:
>> Well, my case matches that case pretty exactly...
>>
>> MySQL 5.1, RelStorage 1.4.0...
>> Anton, were you using a history-free storage?
>
> My guess is not.
>
> Shane, I went to try your suggestion:
>> If you're sure you have found all of the corruption, you can do this
>> (with all app servers shut down) to re-create the current_object table:
>>
>> delete from current_object;
>> insert into current_object (zoid, tid)
>> select zoid, max(tid) from object_state;
>
> ...but of course, history-free storages have no current_object table.
Indeed, which is why I think your issue could be quite different from
Anton's.
The odd thing is I have seen no reports of pack issues for a long time.
Why two at once? I still wonder if there might be no bug at all. If
you and Anton could check all your logs and database integrity, that
would save me a lot of time.
FWIW, RelStorage has extensive tests of packing, including stress tests
that write to the database while packing. I run those tests
automatically using Buildbot on several platforms and with several
combinations of ZODB and SQL database versions. None of the pack tests
are failing on any platform, with any version of ZODB or any SQL
database. If there is a bug, then the next step is to add a test that
exercises the bug.
Shane
More information about the ZODB-Dev
mailing list