嵌套事务对锁定有任何影响

时间:2013-08-30 11:15:15

标签: neo4j

begin tx1
    do some work
    begin tx2
      do some work
    tx2.success
    tx2.finish
tx1.success
tx1.finish

tx2.finish 实际提交或释放锁吗?

感谢

1 个答案:

答案 0 :(得分:3)

Neo4j有扁平嵌套交易的概念。扁平嵌套事务意味着所有嵌套事务都被添加到顶级事务的范围中。因此,在您的情况下,tx2可以标记整个事务以进行回滚,Neo4j将回滚tx1tx2。在您的情况下,只有tx1.finish将提交交易。

Neo4j事务中的所有修改都保留在内存中,直到提交或回滚。然后获得锁以进行实际冲洗。所以在你的情况下tx1.finish是获得锁的时候。

阅读Neo4j手册的this section以获取更多信息。