[bknr-devel] Warning: Encoding destroyed object

Hans Hübner hans.huebner at gmail.com
Mon Feb 27 09:14:12 UTC 2006


Hi Kamen,

my analysis of your problem was not complete:  In fact, the problem is
a bit different from what I wrote:

If you pass persistent objects as argument to a transaction and you
delete that object within the transaction, serializing the transaction
arguments to the transaction log result in the warning that you have
seen.  The datastore emits a warning because the object is no longer
in existence after the transaction has been executed.  Upon restore,
this will not be a problem since no log entry is written, but the
warning is annoying nevertheless.

My suggestion, using "destroy-object" from your transaction, does not
help, because you still have the persistent object in the argument
list to the transaction function.  A proper workaround is to pass only
the object ID in the argument list to the transaction (this is how
delete-object works).  Another workaround is to remove the warning
from the datastore.  Maybe I will do that in the future, but I have to
think about it some more.

My remark about deleting blob files still holds, though.

-Hans



More information about the Bknr-devel mailing list