Hi Luca,

Thanks a lot for coming back to me.

Yes, I know, the backup only contains committed data.

The problem occurred because of  a "hanging" transaction in the status 
"ROLLBACKING", which has collected many operations meanwhile. I guess a 
problem of nesting transactions.

I have saved the ORecordOperation of this hanging transaction to a file and 
read the file on another machine.
Using the backup (committed state) and the recovered ORecordOperation 
objects I could recreate the correct state (I know one of the operations 
should have been rollbacked, but I rather commit the transaction, because 
most of the ORecordOperation are OK and otherwise we loose data).

The way I do it is, that I create a new OTransactionOptimistic instance, 
tx.begin(), attach the recovered ORecordOperation objects using 
tx.addRecord(oro.record, oro.type, oro.record.className) (oro is the 
recovered ORecordOperation) and finally commit. That works, except for 
linked objects. If linked objects are new, the database will contain the 
negative RID instead of the newly created one.

Lets say that I have an Address document and a Order document. The Address 
document is LINKed to the Order document. If the address document is new 
and the order document is new, both will be saved with a new RID. But the 
LINK in the Adress document will contain the negative RID that the Order 
had, when the document was created, instead of the final one.

Any idea, why this is like this?

Thanks,
Markus



-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to