[ZCM] [ZC] 875/ 3 Comment "FileStorage packing bug: backpointer not resolved"
Collector: Zope Bugs, Features, and Patches ...
zope-coders-admin@zope.org
Thu, 10 Apr 2003 05:12:02 -0400
Issue #875 Update (Comment) "FileStorage packing bug: backpointer not resolved"
Status Pending, Zope/bug critical
To followup, visit:
http://collector.zope.org/Zope/875
==============================================================
= Comment - Entry #3 by d.maurer on Apr 10, 2003 5:11 am
Uploaded: "testFileStorageUndoPack.py"
- http://collector.zope.org/Zope/875/testFileStorageUndoPack.py/view
Unittests attached reproducing the bug.
The tests assumes to be located in "ZODB/tests".
The error occurs when an "Undo" record is copied
during pack's copy phase (rather than the packing phase).
________________________________________
= Comment - Entry #2 by mjablonski on Apr 9, 2003 8:55 am
I've had the same "object-were-mystical-gone-after-packing"-problem two times a few weeks ago with 2.6.1. I thought it was a ZEO-Syncing-Issue, but it seems that it is problem of the ZODB-packing.
________________________________________
= Request - Entry #1 by d.maurer on Apr 9, 2003 8:06 am
ATTENTION: data loss!
We lost an object (say "O") during packing.
Events: "delete O", "undo 'delete O'", pack
After the "pack", "O" is no longer accessible, it is lost.
Analysis of the FileStorage for "O"s parent record:
Before packing
pos serial prev plen
undo 634808031L '\x03K\xa5\xe4\xcaLYw' '\x00\x00\x00\x00%L\xeb\xa2' 0
delete 625798050L "\x03K\xa5\xc7\xb0';f" '\x00\x00\x00\x00\x01F\xcd)' 168
backpointer 21417257L '\x03G\xd3)\x98\xc9\x043' 0 254
After packing
pos serial prev plen
undo 437746018L '\x03K\xa5\xe4\xcaLYw' '\x00\x00\x00\x00\x19\x8d\xfe%' 0
delete 428736037L
backpointer 428736037L "\x03K\xa5\xc7\xb0';f" '\x00\x00\x00\x00\x01<)\xdd' 168
As we see, the backpointer was not resolved
during packing and after packing, it points
to the "deleted" state.
I will try to reproduce this error in
a small test case and report back.
==============================================================