“execution_guard_enabled” 在我的 Neo4j 版本中是否可用?
背景
从一开始,执行保护机制就从未打算供大众使用。然而,该功能在产品中确实存在,尽管没有文档记录,但它确实能够有效防止长时间运行的查询占用大量资源并引发其他连锁效应。因此,该功能被博客提及,并被寻求此功能的L用户所使用。
说明
如果您运行的是 Neo4j 2.1.x 或更早版本,它仍然有效。如果您运行的是 2.2.x 到 3.0.x 版本,它将无法工作,除非您使用核心 Java API。如果您运行的是 3.1.x 版本,请参阅 dbms.transaction.timeout
为什么?
直到 2.2 版本,Cypher 在幕后一直使用核心 Java API,因此执行保护机制实际上是在该层实现的。当我们在 2.2 版本进行重大更改以允许 Cypher 使用更底层、更高效的 Cursor API 时,Cypher 查询不再受执行保护机制的约束。由于执行保护机制是一个未记录、不受支持的“功能”,因此被弃置不用。
希望此功能在产品中重新出现?请在我们的公共 Slack 频道发送消息提供产品反馈
此页面有帮助吗?