Is there a known scenario in which one or more POSKeyError
exceptions occur as the result of using ZMI Undo on a set of transactions, but not all transactions since the missing object was created?
Most of the objects from previous versions of the database for the unknown OIDs were PersistentMapping objects likely stored in annotations on the site root. When I ran fsrefs.py
on my broken FileStorage, I saw cases where PersistentMapping
and various BTree structures had references to "invalid objects" like this:
oid 0xe7397e BTrees.IIBTree.IITreeSet
last updated: 2025-04-28 19:45:06.996680, tid=0x40062211dda3d88
refers to invalid objects:
oid 0xfb5cf5 object creation was undone: '<unknown>'
oid 0xfb5cf6 object creation was undone: '<unknown>'
oid 0xfb5cf7 object creation was undone: '<unknown>'
the fsrefs.py
output all pinned blame on my one /Control_Panel/Database/main/manage_undo_transactions
transaction (I got the transaction digging through the output of the storage iterator, and that transaction's TID matched the timestamp from fsrefs).
I am guessing that this could be a possible side-effect of undoing multiple transactions, including the transaction that created the object at the OID in question — but not undoing a transactions with potential for reference to that OID?