Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用neo4j更改关系时两个节点的acquireWriteLock顺序_Neo4j - Fatal编程技术网

使用neo4j更改关系时两个节点的acquireWriteLock顺序

使用neo4j更改关系时两个节点的acquireWriteLock顺序,neo4j,Neo4j,据说,当更改关系时,其相关节点将被写锁。我想知道哪个节点将首先被锁定。出现这种要求是因为我有时需要手动锁定两个节点,如果以不同的顺序锁定它们,恐怕会导致死锁。我应该担心这一点吗?Neo4j锁定id最低的节点,如果它不是自关系,则锁定id最高的节点。这是因为至少有2.2(.latest)。Neo4j锁定id最低的节点,如果它不是自关系,则锁定id最高的节点。这是因为至少有2.2(.latest).需要澄清的是: 关系的开始和结束节点仅在关系创建或删除期间自动写入锁定 首先锁定具有较低本机ID的

据说,当更改关系时,其相关节点将被写锁。我想知道哪个节点将首先被锁定。出现这种要求是因为我有时需要手动锁定两个节点,如果以不同的顺序锁定它们,恐怕会导致死锁。我应该担心这一点吗?

Neo4j锁定id最低的节点,如果它不是自关系,则锁定id最高的节点。这是因为至少有2.2(.latest)。

Neo4j锁定id最低的节点,如果它不是自关系,则锁定id最高的节点。这是因为至少有2.2(.latest).

需要澄清的是:

  • 关系的开始和结束节点仅在关系创建删除期间自动写入锁定

    • 首先锁定具有较低本机ID的结束节点。
      • 在修复之前,关系删除实际上以另一种方式锁定了结束节点——开始节点总是先锁定。2.2、2.3和3.x的最新版本不再有这种不一致性
    • 在删除关系期间,关系本身也被写锁定——在其结束节点被锁定之后
  • 如果只是添加/删除/删除关系的属性,则只有该关系是写锁定的。端点节点未锁定

需要明确的是:

  • 关系的开始和结束节点仅在关系创建删除期间自动写入锁定

    • 首先锁定具有较低本机ID的结束节点。
      • 在修复之前,关系删除实际上以另一种方式锁定了结束节点——开始节点总是先锁定。2.2、2.3和3.x的最新版本不再有这种不一致性
    • 在删除关系期间,关系本身也被写锁定——在其结束节点被锁定之后
  • 如果只是添加/删除/删除关系的属性,则只有该关系是写锁定的。端点节点未锁定