Основываясь на исходном коде neo4j 3.2.3 , TransactionRepresentationCommitProcess.commit
выполнит работу по фиксации изменений транзакций, поддерживаемых в TxState
.
Содержит две части: добавление в журнал транзакций; применить к магазину, который является RecordStorageEngine.
Это типичная практика совершения транзакции. Как и в других механизмах хранения, мы используем mvcc или блокировку чтения, чтобы убедиться, что изменения транзакции происходят атомарно.
Мой вопрос:
Как RecordStorageEngine обеспечивает атомарность транзакции?
Если быть точным, если одна транзакция изменяет значения двух свойств. Произойдут ли эти два изменения атомарно?