Asked this question in SO 
<https://stackoverflow.com/questions/53331040/atomicity-of-recordstorageengine-in-neo4j>,
  
as i'm still struggling to get the answer through the code,  I prefer to 
try my luck here :)


Base on the source code of neo4j 3.2.3 
<https://github.com/neo4j/neo4j/releases/tag/3.2.3>, 
TransactionRepresentationCommitProcess.commit will do the work to commit 
transaction changes maintained in TxState.

It contains two parts: append to transaction log; apply to store which is 
RecordStorageEngine.

That's a typical practice to commit a transaction. As in other storage 
engine, we use mvcc or read lock to make sure the changes of transaction 
happen atomically.

My question is:
*How RecordStorageEngine ensure the atomicity of transaction?*

To be precise, if one transaction modifies the values of two properties. 
Will these two changes happen atomically?

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

Reply via email to