2
begin tx1
do some work
begin tx2
do some work
tx2.success
tx2.finish
tx1.success
tx1.finish
確實tx2.finish實際提交或釋放鎖嗎?嵌套事務對鎖定有任何影響
感謝
begin tx1
do some work
begin tx2
do some work
tx2.success
tx2.finish
tx1.success
tx1.finish
確實tx2.finish實際提交或釋放鎖嗎?嵌套事務對鎖定有任何影響
感謝
的Neo4j有平嵌套事務的概念。平面嵌套事務意味着所有嵌套事務都被添加到頂級事務的範圍中。所以在你的情況下,tx2
可以標記整個事務的回滾,Neo4j將回滾tx1
和tx2
。在你的情況下,只有tx1.finish
將提交交易。
在提交或回滾之前,Neo4j事務中的所有修改都保存在內存中。然後獲得鎖以進行實際沖洗。所以在你的情況下,tx1.finish
是獲取鎖的時候。
閱讀Neo4j手冊的this section瞭解更多信息。
這取決於你所引用的鎖。在修改事務內部的節點和關係時獲取節點和關係的寫入鎖定,而不是在finish() –