Evan,
On 13 Mar 2008, at 10:58, Evan Monroig wrote:
As Nico wrote the behavior I'm having is not necessarily a bug, but anyway there still is a problem in that recovering from the transaction log or from the snapshot yields different results. I think that the "correct" way to go would be to check for OBJECT-WITH-ID descendants while making and/or replaying the transaction log.
Each transaction is serialized independently from each other, using a fresh serialization-state. A snapshot is taken as a whole, correctly resolving identical objects.
It would sure be a nice experiment to somehow handle object-with-id descendants (or all known objects) differently here: it somehow feels like this should work, but I am not completely sure. I took a quick look at the code and it would require some hacking into the serialization code, specifically the serialization-state (known objects).
Good luck and keep us informed !
Sven
PS: I annotated you lisp paste.