MERGE (n:Label {
value: $value
})
ON CREATE SET
n.another_value = $another_value,
n.created = timestamp()
RETURN id(n);
如果我同时运行此查询,则会收到2个相等的节点。 我只需要一个。我做错了什么?
答案 0 :(得分:0)
neo4j中有一个错误已经修复了一段时间。引用this knowledge base article的最后一部分:
注意Neo4j< 3.0.9 for 3.0.x版本,< 3.1.2 for 3.1.x版本
阻止了受影响版本的成本计划程序中的错误 MERGE上的双重检查锁定。这允许竞争条件 可能导致并发MERGE创建重复模式 以前引起的操作或其他写操作 不存在的模式存在。
我们建议您升级到包含此错误修复的版本。