错误“无法识别的事务ID。事务可能已超时并已回滚”的解释
通过 Neo4j 事务 Cypher HTTP 端点 提交请求时,可能会遇到以下错误:
Unrecognized transaction id. Transaction may have timed out and been rolled back
此错误可能是由于事务的到期日期/时间已到而发生的。默认情况下,org.neo4j.server.transaction.timeout 描述了事务中不活动状态导致事务自动回滚的秒数。默认值为 60 秒,但可以通过添加以下内容来覆盖:
org.neo4j.server.transaction.timeout=XXX
其中 XXX 表示秒数,将其添加到 conf/neo4j-server.properties 文件中,然后通过 bin/neo4j restart
重启 Neo4j。
或者,可以通过 REST API 定期执行保持连接操作,保持事务打开,如 /db/data/transaction/XXX 所述;或者通过 /db/data/transaction/XXX/commit 提前提交事务,其中 XXX 代表事务编号。
注意 bin/neo4j-shell
不使用 REST API,因此 org.neo4j.server.transaction.timeout
对在 neo4j-shell
中通过 begin commit 创建的事务没有影响。
此页面有用吗?