|
|
|
The ObjectDatabase++ Log File
The Objectdatabase++ log file has changed from the standard trace log file to a
more managed logging system. This change has been required because
Objectdatabase++ reuses the ObjectID of deleted objects to maintain an
efficient hash index. Reusing the ObjectIDs in this manner creates a problem
when two concurrent transaction interact as described in the following log
trace:-
This log trace shows two concurrent transactions, the second transaction
releases an object, the first then reclaims the object and commits, since the
first transaction started first – the commit is flushed to disk, then
afterwards the second transaction is unable to abort since it is unable to
reclaim the ObjectID. This simple scenario requires a more complex
transaction-logging regime in order to prevent such a situation from occurring.
|