错误“无法识别的交易 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 内创建的交易没有影响。
此页面是否有帮助?