> Interesting. RelStorage is already set up to do something like that.
> It splits packing into two phases. In the first phase, it makes a
> complete list of every row for the second phase to delete. The second
> phase could be delayed as long as we want. Between the two phases, if
> any database connections use objects that have been marked for deletion,
> we could cancel the pack and flag a software bug.
>> If you want we make any kind of test with our databases, It will be a
> It would be very helpful to me if you could provide a copy of your
> database for me to debug. I'm hoping for a compressed SQL dump.
I already know what happens: either object_ref and object_refs_added
tables are completely empty in my database. I can't understand why,
but it explains the data loose when packing (nothing references
nothing). So, the mystery is not in Relstorage but in the data.
The only right ways to solve it is to disable pack-gc or try to fill
this tables correctly. Do you know any simple way to do it ?
Perhaps an export / import should fill this tables ?
Thanks a lot for your help
Santi Camps (Earcon S.L.)
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org