Skip to content

Adding or updating nodes/relationship is not Failure Atomic

Scenario: A transaction T1 want to add 10 nodes, but after 9 nodes are created in Pmem and their slot bit are set, T1 fails when 10 th is added. Issues : Although the user may get a message that T1 failed, these 9 slots in Pmem are not usable any more.

If this is transaction abort, then the current transaction object (in DRAM) will solve this But if this a system failure, then ?

https://dbgit.prakinf.tu-ilmenau.de/code/poseidon_core/blob/master/src/storage/graph_db.cpp#L237

same issue during updates:

https://dbgit.prakinf.tu-ilmenau.de/code/poseidon_core/blob/master/src/storage/graph_db.cpp#L493

This is also applicable to the relationship in Pmem.